评测
#include <iostream>
using namespace std;
char map[20][20];
int ci,cj,fi,fj,modec=1,modef=1,cnt=0;
int main(){
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
cin>>map[i][j];
if(map[i][j]=='C'){
ci=i;
cj=j;
}
if(map[i][j]=='F'){
fi=i;
fj=j;
}
}
}
for(int i=0;i<=11;i++){
map[i][0]='*';
map[i][11]='*';
map[0][i]='*';
map[11][i]='*';
}
while(!(ci==fi && cj==fj)){
if(modec==1){
if(map[ci-1][cj]=='*') modec++;
else ci--;
}else if(modec==2){
if(map[ci][cj+1]=='*') modec++;
else cj++;
}else if(modec==3){
if(map[ci+1][cj]=='*') modec++;
else ci++;
}else{
if(map[ci][cj-1]=='*') modec++;
else ci--;
}
if(modef==1){
if(map[fi-1][fj]=='*') modef++;
else fi--;
}else if(modef==2){
if(map[fi][fj+1]=='*') modef++;
else fj++;
}else if(modef==3){
if(map[fi+1][fj]=='*') modef++;
else fi++;
}else{
if(map[fi][fj-1]=='*') modef++;
else fi--;
}
if(modef>4) modef-=4;
if(modec>4) modec-=4;
cnt++;
if(cnt>100000000){
cout<<0;
return 0;
}
}
cout<<cnt;
return 0;
}