//usaco2-4-1 两只塔姆沃斯牛
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
int n;
int x1,y1,x2,y2;
int a[1010][1010];
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
int main()
{
memset(a,1,sizeof(a));
for (int i=1;i<=10;i++)
for (int j=1;j<=10;j++)
{
char c;
std::cin>>c;
switch(c)
{
case '*':{a[i][j]=1;break;}
case '.':{a[i][j]=0;break;}
case 'F':{x1=i;y1=j;a[i][j]=0;break;}
case 'C':{x2=i;y2=j;a[i][j]=0;break;}
}
}
int time=0,d1=0,d2=0;
while(1)
{
time++;
if (!a[x1+dx[d1]][y1+dy[d1]]) x1+=dx[d1],y1+=dy[d1];
else d1=(d1+1)%4;
if (!a[x2+dx[d2]][y2+dy[d2]]) x2+=dx[d2],y2+=dy[d2];
else d2=(d2+1)%4;
if (x1==x2&&y1==y2) {printf("%d\n",time);exit(0);}
if (time>=1000000) {printf("0\n");exit(0);}
}
return 0;
}
【USACO2-4-1】两只塔姆沃斯牛 模拟
最新推荐文章于 2023-10-26 00:12:05 发布