POJ1573 - Robot Motion

来源:互联网 发布:英国脱离欧盟 知乎 编辑:程序博客网 时间:2024/05/30 02:25

模拟题,水题


//Memory Time//268K0MS#include<iostream>using namespace std;char map[10][10];char mapState[10][10];int main(){int rows, columns;int columnsStart;while(cin>>rows>>columns>>columnsStart && !(rows == 0 && columns == 0 && columnsStart == 0)){for(int i = 0 ; i < rows; i++)for(int j = 0; j < columns; j++){cin>>map[i][j];mapState[i][j] = 2;}int row = 0;int col = columnsStart - 1;int stepA = 0, stepB = 0;while(row >= 0 && row < rows && col >= 0 && col < columns  //边界1:没有走出矩形  && mapState[row][col] > 0) //边界2:不能第三次走过某一个格子 {if(mapState[row][col] == 2){stepA++;}else if(mapState[row][col] == 1){stepA--;stepB++;}mapState[row][col]--;if(map[row][col] == 'N')row--;else if(map[row][col] == 'S')row++;else if(map[row][col] == 'W')col--;else if(map[row][col] == 'E')col++;}if(stepB == 0) cout << stepA << " step(s) to exit" << endl;elsecout << stepA << " step(s) before a loop of "  << stepB << " step(s)" <<endl;}return 0;}


0 0
原创粉丝点击