您的位置:首页 > 其它

HDOJ 1350    Robot Motion

2015-12-18 18:06 393 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1035

这几天学习搜索,只能做一些简单的水题....

#include <stdio.h>

#include <string.h>

char map[12][12];

int visit[12][12];

int main()

{

char
p,local;

int
a,b,c,M,N,sum;


while(1)

{


scanf("%d%d%d",&a,&b,&c);


p=getchar();


if(!a&&!b&&!c)


break;


sum=0;


memset(visit,0,sizeof(visit));


for(int i=1;i<=a;i++)


{


for(int j=1;j<=b;j++)


scanf("%c",&map[i][j]);


p=getchar();


}


N=1;


M=c;


local=map
[M];


while(!visit
[M]&&N<=a&&M<=b&&N>0&&M>0)


{


sum++;


if(local=='S')


{


visit
[M]=sum;


N++;


local=map
[M];


}


else if(local=='N')


{


visit
[M]=sum;


N--;


local=map
[M];


}


else if(local=='E')


{


visit
[M]=sum;


M++;


local=map
[M];


}


else if(local=='W')


{


visit
[M]=sum;


M--;


local=map
[M];


}


}


if(!visit
[M])


printf("%d step(s) to exit\n",sum);


else


visit
[M]--,printf("%d step(s) before a loop of %d
step(s)\n",visit
[M],sum-visit
[M]);

}

return
0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: