感觉过程没有问题,可答案就是不对
#include<bits/stdc++.h>
using namespace std;
string a[1111];
bool t1[100][100],t2[100][100];
int xf,yf,xc,yc;
int main()
{
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
cin>>a[i][j];
}
for(int i=0;i<=11;i++)
{
a[0][i]='*';
a[11][i]='*';
a[i][0]='*';
a[i][11]='*';
}
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
{
if(a[i][j]=='C')xc=i,yc=j;
if(a[i][j]=='F')xf=i,yf=j;
}
}
int ans=0,f1=1,f2=1;
while(ans<=1000000)
{
if(xc==xf&&yc==yf){cout<<ans;return 0;}
ans++;
if(f1==1){if(a[xc-1][yc]!='*'){xc--;}else f1++;}
if(f1==2){if(a[xc][yc+1]!='*'){yc++;}else f1++;}
if(f1==3){if(a[xc+1][yc]!='*'){xc++;}else f1++;}
if(f1==4){if(a[xc][yc-1]!='*'){yc--;}else {f1=1;if(f1==1){if(a[xc-1][yc]!='*'){xc--;}else f1++;}if(f1==2){if(a[xc][yc+1]!='*'){yc++;}else f1++;}if(f1==3){if(a[xc+1][yc]!='*'){xc++;}else f1++;}}}
if(f2==1){if(a[xf-1][yf]!='*'){xf--;}else f2++;}
if(f2==2){if(a[xf][yf+1]!='*'){yf++;}else f2++;}
if(f2==3){if(a[xf+1][yf]!='*'){xf++;}else f2++;}
if(f2==4){if(a[xf][yf-1]!='*'){yf--;}else {f2=1;if(f2==1){if(a[xf-1][yf]!='*'){xf--;}else f2++;}if(f2==2){if(a[xf][yf+1]!='*'){yf++;}else f2++;}if(f2==3){if(a[xf+1][yf]!='*'){xf++;}else f2++;}}}
cout<<xc<<" "<<yc<<" "<<xf<<" "<<yf<<" "<<ans<<endl;
}
cout<<"0";
return 0;
}