大佬救命
查看原帖
大佬救命
360096
AC_llq楼主2021/10/6 11:15

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;
}

上面炸了……

2021/10/6 11:15
加载中...