您的位置:首页 > 其它

HDOJ搜索专题之Robot Motion

2012-05-11 23:57 405 查看
水题……

View Code

#include <stdio.h>
#include <string.h>
#define N 11
char g

;
int t

,n,m,k,cnt;
int dx[128],dy[128];
int main()
{
int i,j;
dx['E']=0,dx['W']=0;
dx['S']=1,dx['N']=-1;
dy['E']=1,dy['W']=-1;
dy['S']=0,dy['N']=0;
while(scanf("%d%d",&n,&m))
{
if(n==0)  break;
scanf("%d",&k);
for(i=0;i<n;i++)
{
getchar();
for(j=0;j<m;j++)
{
scanf("%c",&g[i][j]);
}
}
memset(t,-1,sizeof(t));
i=0,j=k-1;
cnt=0;
while(!(i<0 || j<0 || i>=n || j>=m) && t[i][j]==-1)
{
int oi=i,oj=j;
t[i][j]=cnt++;
i+=dx[g[oi][oj]];
j+=dy[g[oi][oj]];
}
if(i<0 || j<0 || i>=n || j>=m)  printf("%d step(s) to exit\n",cnt);
else printf("%d step(s) before a loop of %d step(s)\n",t[i][j],cnt-t[i][j]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: