感觉问题挺多的,请随意喷
#include<bits/stdc++.h>
using namespace std;
char ch[15][15];
int x,y,m,n,xx,yy,mm,nn,sum=0,lip=0;
int main(){
for(int i=0;i<=11;i++){
for(int j=0;j<=11;j++){
if(i==0||i==11||j==0||j==11)
ch[i][j]='*';
}
}
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
cin>>ch[i][j];
if(ch[i][j]=='F'){x=i;y=j;xx=i;yy=j;}
if(ch[i][j]=='C'){m=i;n=j;mm=i;nn=j;}
}
}
int num[3]={0,0,0};
while(1){
if(ch[x][y]==ch[xx][yy]&&ch[m][n]==ch[mm][nn]&&lip==1){cout<<"0";return 0;}
for(int i=1;i<=2;i++){
if(num[i]==0) {
if(ch[x-1][y]=='*'){num[i]=1;continue;}
x--;
lip=1;
}
if(num[i]==1){
if(ch[x][y-1]=='*'){num[i]=2;continue;}
y--;
lip=1;
}
if(num[i]==2) {
if(ch[x+1][y]=='*'){num[i]=3;continue;}
x++;
lip=1;
}
if(num[i]==3) {
if(ch[x][y+1]=='*'){num[i]=0;continue;}
y++;
lip=1;
}
}
sum++;
if(x==m&&y==n){
cout<<sum;
return 0;
}
}
return 0;
}