#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(){
char ch;
int f[12][12];
int fx,fy,cx,cy;
for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++){
cin>>ch;
switch(ch){
case '*':f[j][i]=0;break;
case '.':f[j][i]=1;break;
case 'F':fx=j;fy=i;f[j][i]=1;break;
case 'C':cx=j;cy=i;f[j][i]=1;break;
}
}
int fd=1,cd=1,mx=0,my=0,ans=0;
while(ans<1600000){
switch(fd){
case 1:my=-1;mx=0;break;
case 2:my=1;mx=0;break;
case 3:mx=1;my=0;break;
case 4:mx=-1;my=0;break;
}
if(f[fx+mx][fy+my]==1){
fx+=mx;fy+=my;
}else{
switch(fd){
case 1:fd=3;break;
case 2:fd=4;break;
case 3:fd=2;break;
case 4:fd=1;break;
}
}
//cout<<fx<<' '<<fy<<endl;
switch(cd){
case 1:my=-1;mx=0;break;
case 2:my=1;mx=0;break;
case 3:mx=1;my=0;break;
case 4:mx=-1;my=0;break;
}
if(f[cx+mx][cy+my]==1){
cx+=mx;cy+=my;
}else{
switch(cd){
case 1:cd=3;break;
case 2:cd=4;break;
case 3:cd=2;break;
case 4:cd=1;break;
}
}
ans++;
if(cx==fx&&fy==cy) break;
}
if(ans!=1600000)
printf("%d\n",ans);else
printf("0");
return 0;
}
RT,WA了第七个点,数据输入是
*...*....*
.......*..
.*...*.F..
.*........
....*..**.
*.......*.
......**..
*..C......
..*...*..*
*.....*.*.
我的输出和答案输出都是16,但是提交评测之后提示Wrong Answer.wrong answer On line 1 column 1, read 0, expected 1.