hdu1035
Posted 王坤1993
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu1035相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<string.h>
int step,n,m;
int a[1010][1010];
char map[11][11];
void DFS(int x,int y)
{
while(x>=0&&y>=0&&x<n&&y<m&&map[x][y]!=‘O‘)
{
if(map[x][y]==‘N‘)
{
map[x][y]=‘O‘;
a[x][y]=++step;
x--;
}
else if(map[x][y]==‘S‘)
{
map[x][y]=‘O‘;
a[x][y]=++step;
x++;
}
else if(map[x][y]==‘E‘)
{
map[x][y]=‘O‘;
a[x][y]=++step;
y++;
}
else if(map[x][y]==‘W‘)
{
map[x][y]=‘O‘;
a[x][y]=++step;
y--;
}
}
if(map[x][y]==‘O‘)
printf("%d step(s) before a loop of %d step(s)\n",a[x][y]-1,step+1-a[x][y]);
else
printf("%d step(s) to exit\n",step);
}
int main()
{
int i,k,x,y;
while(scanf("%d%d%d",&n,&m,&k)!=EOF)
{
if(n==0||m==0)
break;
for(i=0;i<n;i++)
scanf("%s",map[i]);
x=0;
y=k-1;
step=0;
DFS(x,y);
}
return 0;
}
以上是关于hdu1035的主要内容,如果未能解决你的问题,请参考以下文章
[ACM] hdu 1035 Robot Motion (模拟或DFS)
POJ1573 ZOJ1708 UVA10116 UVALive5334 HDU1035 Robot MotionDFS+BFS