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;
}
这几天学习搜索,只能做一些简单的水题....
#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;
}
相关文章推荐
- HDOJ&nbsp;&nbsp;1722&nbsp;&nbsp;&nbsp;&nbsp;Cake
- HDOJ&nbsp;&nbsp;1271&nbsp;&nbsp;&nbsp;整数对
- HDOJ&nbsp;&nbsp;&nbsp;1021&nbsp;&nbsp;&nbsp;&nbsp;Fibonacci&nbsp;Again
- Fibonacci数列
- HDOJ&nbsp;&nbsp;1010&nbsp;&nbsp;&nbsp;Tempter&nbsp;of&nbsp;the&nbsp;Bone
- HDOJ&nbsp;&nbsp;1005&nbsp;&nbsp;&nbsp;Number&nbsp;Sequence
- HDOJ&nbsp;&nbsp;1040&nbsp;&nbsp;As&nbsp;Easy&nbsp;As&nbsp;A+B
- 欧拉φ函数
- C语言中的qsort函数
- C++中的sort函数
- HDOJ&nbsp;2673&nbsp;sh&#462;崽&nbsp;OrOrOrOrz
- HDOJ&nbsp;2037&nbsp;今年暑假不AC
- HDOJ&nbsp;1753&nbsp;大明A+B
- HDOJ&nbsp;1236&nbsp;排名
- HDOJ&nbsp;1051&nbsp;Wooden&nbsp;Sticks
- HDOJ&nbsp;1004&nbsp;Let&nbsp;the&nbsp;Balloon&nbsp;Rise
- hdoj&nbsp;&nbsp;acm&nbsp;&nbsp;&nbsp;1097
- 关于String比较的一些问题
- Rightmost&nbsp;Digit&nbsp;&nbsp;hdoj&nbsp;&nbsp;&nbsp;1061
- Identity&nbsp;Card&nbsp;&nbsp;&nbsp;hdoj&nbsp;&nbsp;&nbsp;&nbsp;2629