求求大佬们帮帮本蒟蒻吧!
#include<stdio.h>
#include<string.h>
using namespace std;
const int dx[]={0,1,0,-1},dy[]={-1,0,1,0};
int main(){
char c[12][12];
memset(c,'*',sizeof(c));
int i,j,tx,ty,td=0,fx,fy,fd=0,ans=0;
bool flag1=1,flag2=1;
for(i=1;i<11;i++){
for(j=1;j<11;j++){
c[i][j]=getchar();
if(c[i][j]=='C'){tx=i;ty=j;}
if(c[i][j]=='F'){fx=i;fy=j;}
}
getchar();
}
for(i=0;i<4;i++)
if(c[tx+dx[i]][ty+dy[i]]!='*')
flag1=0;
for(i=0;i<4;i++)
if(c[fx+dx[i]][fy+dy[i]]!='*')
flag2=0;
if(flag1 || flag2) ans=160001;
while(ans<=160000){
while(c[tx+dx[td]][ty+dy[td]]=='*') td=(td+1)%3;
while(c[fx+dx[fd]][fy+dy[fd]]=='*') fd=(fd+1)%3;
tx+=dx[td];ty+=dy[td];
fx+=dx[fd];fx+=dy[fd];
ans++;
if(tx==fx && ty==fy){
printf("%d",ans);
return 0;
}
}
putchar(48);
return 0;
}