首页 > 其他 > 详细

hdu1035

时间:2017-01-15 00:17:46      阅读:264      评论:0      收藏:0      [点我收藏+]

#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

原文:http://www.cnblogs.com/wangkun1993/p/6286391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!