不知道为什么一直没有输出……
#include<bits/stdc++.h>
using namespace std;
int cowx,cowy,cowdir,johnx,johny,johndir,ans;
/*
dir:
0:North
1:East
2:South
3:West
*/
char a[12][12];
int main(){
memset(a,'*',sizeof(a));
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
cin>>a[i][j];
if(a[i][j]=='C') cowx=i,cowy=j;
if(a[i][j]=='F') johnx=i,johny=j;
}
}
while(cowx!=johnx||cowy!=johny){
if(!cowdir){
if(a[cowx-1][cowy]=='*') cowdir=1;
else cowx--;
}
if(cowdir==1){
if(a[cowx][cowy+1]=='*') cowdir=2;
else cowy++;
}
if(cowdir==2){
if(a[cowx+1][cowy]=='*') cowdir=3;
else cowx++;
}
if(cowdir==3){
if(a[cowx][cowy-1]=='*') cowdir=0;
else cowy--;
}
if(!johndir){
if(a[johnx-1][johny]=='*') johndir=1;
else johnx--;
}
if(johndir==1){
if(a[johnx][johny+1]=='*') johndir=2;
else johny++;
}
if(johndir==2){
if(a[johnx+1][johny]=='*') johndir=3;
else johnx++;
}
if(johndir==3){
if(a[johnx][johny-1]=='*') johndir=0;
else johny--;
}
ans++;
if(ans>10000){
cout<<0;
return 0;
}
}
cout<<ans;
}