poj1573 Robot Motion
来源:互联网 发布:java执行js脚本 编辑:程序博客网 时间:2024/05/08 11:37
题目大意:一个机器人进入标记东西南北的图,判断是否能够走出来。
int main ()
{
introw,col,start;
inti,j; intstep;
intnum;
charmap[100][100];
boolvisit[100][100];
while(cin>>row>>col>>start)
{
if(row==0 && col==0&& start==0)
break; for(i=1;i<=row;i++)
for(j=1;j<=col;j++)
cin>>map[i][j]; i=1;
step=0;
num=0;
memset(visit,false,sizeof(visit)); while(i>=1 &&i<=row &&start>=1 &&start<=col &&!visit[i][start])
{ if(map[i][start]=='W' )
{
visit[i][start]=true;
start--;
step++; continue;
}
if(map[i][start]=='E')
{
visit[i][start]=true;
start++;
step++; continue;
}
if(map[i][start]=='N')
{
visit[i][start]=true;
i--;
step++;
continue;
}
if(map[i][start]=='S')
{
visit[i][start]=true;
i++;
step++;
continue;
题目分析:机器人可能走出来,也可能在图中进入死循环,所以要定义一个数组标记该点是否走过。
题目代码:
#include <iostream>
//#include <string.h>
using namespace std;
//#include <string.h>