我哪里错了?
#include<bits/stdc++.h>
using namespace std;
int cx,cy,fx,fy,xc,yc,xf,yf,df,dc,ans;
bool flag,f[15][15];
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
char ch[15][15];
int main(){
for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++){
cin>>ch[i][j];
if(ch[i][j]=='.'||ch[i][j]=='F'||ch[i][j]=='C')
f[i][j]=1;
if(ch[i][j]=='F')
fx=i,fy=j;
else if(ch[i][j]=='C')
cx=i,cy=j;
}
xc=cx,yc=cy,yf=fy,xf=fx;
while((xc!=cx||yc!=cy||yf!=fy||xf!=fx||flag==0)&&ans<=10000){
flag=1;
if(f[xc+dx[dc]][yc+dy[dc]]==0) dc=(dc+1)%4;
else{
xc+=dx[dc];
yc+=dy[dc];
}
if(f[xf+dx[df]][yf+dy[df]]==0) df=(df+1)%4;
else{
xf+=dx[df];
yf+=dy[df];
}
if(xf==xc&&yf==yc){
cout<<ans+1;
return 0;
}
ans++;
}
cout<<0;
return 0;
}