zoukankan      html  css  js  c++  java
  • HDU 1035 Robot Motion

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1035

    简单模拟题...但有几个细节需要注意:

    1>当输入为0 0 时程序会不会正常结束(如果scanf("%d%d%d",....)是不可以滴)

    2>走到边缘是不结束的,只要迈出去才算

    3>注意loop的步数,不要算错了

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int main()
    {
    	char data[15][15];
    	int row;
    	int col;
    	int start;
    	int i,j;
    	int k;
    	bool sign;
    	while(cin>>row>>col&&row+col!=0) 
    	{
    		cin>>start;
    		for(i=0;i<row;i++)
    			cin>>data[i];
    		i=0;j=start-1;
    		k=0;sign=false;
    		while(i<row&&j<col&&i>=0&&j>=0)
    		{
    
    			switch (data[i][j])
    			{
    			case 'N':data[i][j]=k++;
    				i--;break;
    			case 'S':data[i][j]=k++;
    				i++;break;
    			case 'E':data[i][j]=k++;
    				j++;break;
    			case 'W':data[i][j]=k++;
    				j--;break;
    			default:k=k-data[i][j];
    				sign=true;
    			}
    			if(sign)
    				break;
    
    
    		}
    		if(sign)
    			printf("%d step(s) before a loop of %d step(s)
    ",data[i][j],k);
    		else
    			printf("%d step(s) to exit
    ",k);
    	}
    }


     

  • 相关阅读:
    LeetCode 43. 字符串相乘(Multiply Strings)
    LeetCode 541. 反转字符串 II(Reverse String II)
    枚举类型
    c#字母加密
    汇率兑换Python
    冒泡排序c#
    c#
    HTML
    日历
    Java2
  • 原文地址:https://www.cnblogs.com/frankM/p/4399533.html
Copyright © 2011-2022 走看看