Compile Error,进来看看 我看不懂
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
/*
. 空地;
* 障碍物;
C 两头牛;
F Farmer John
*/
using namespace std;
string a[12][12];
bool zt[1000010];
int xf,yf,xc,yc,f=1,c=1,sum,nt;
int main()
{
for(int q=1;q<=10;q++)
{
for(int w=1;w<=10;w++)
{
cin>>a[q][w];
if(a[q][w]=='c')
{
xc=q;
yc=w;
}
if(a[q][w]=='f')
{
xf=q;
yf=w;
}
}
}
for(int q=0;q<=11;q++)
{
a[0][q]='*';
a[q][11]='*';
a[11][q]='*';
a[q][0]='*';
}
while(xc==xf&&yc==yf)
{
if(f>4) f=1;
if((f==1&&a[xf][yf-1]!='*')||(f==2&&a[xf+1][yf]!='*')||(f==3&&a[xf-1][yf]!='*')||(f==4&&a[xf][yf+1]!='*'))
{
switch(f)
{
case 1:
yf--;
break;
case 2:
xf++;
break;
case 3:
yf++;
break;
case 4:
xf--;
break;
default:
f=1;
}
}
else f++;
if(c>4) c=1;
if((c==1&&a[xc][yc-1]!='*')||(c==2&&a[xc+1][yc]!='*')||(c==3&&a[xc-1][yc]!='*')||(c==4&&a[xc][yc+1]!='*'))
{
switch(c)
{
case 1:
yc--;
break;
case 2:
xc++;
break;
case 3:
yc++;
break;
case 4:
xc--;
break;
default:
c=1;
}
}
else
c++;
sum++;
nt=xf+yf*10+xc*100+yc*1000+f*10000+c*40000;
if(zt[nt])
{
cout<<"0";
return 0;
}
zt[nt]=1;
}
cout<<sum;
return 0;
}
上面炸了……