67分蒟蒻求助(折磨好久了),1、4WA,6RE
查看原帖
67分蒟蒻求助(折磨好久了),1、4WA,6RE
426217
Gkc2020楼主2023/1/4 15:21
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pfn printf("\n")
char a[15][15];
bool stop[200000];
int x3,y3;
int x2,y2,flag1=0,flag2=0,h=0,ss;
int main()
{
	for(int i=1;i<=10;i++)
	{
		for(int j=1;j<=10;j++)
		{
			cin>>a[i][j];
			if(a[i][j]=='F')x3=i,y3=j;
			if(a[i][j]=='C')x2=i,y2=j;
		}
	}
	for(h=0;;h++)
	{
		
		if(x3==x2&&y3==y2)
		{
			cout<<h;
			return 0;
		}
		if(flag1==0)
		{
			if(x3==1||a[x3-1][y3]=='*')flag1++;
			else a[x3][y3]='.',a[x3-1][y3]='F',x3-=1;
		}
		else if(flag1==1)
		{
			if(y3==10||a[x3][y3+1]=='*')flag1++;
			else a[x3][y3]='.',a[x3][y3+1]='F',y3+=1;
		}
	    else if(flag1==2)
		{
			if(x3==10||a[x3+1][y3]=='*')flag1++;
			else a[x3][y3]='.',a[x3+1][y3]='F',x3+=1;
		}
		else if(flag1==3)
		{
			if(y3==1||a[x3][y3-1]=='*')flag1=0;
			else a[x3][y3]='.',a[x3][y3-1]='F',y3-=1;
		}
		
		if(flag2==0)
		{
			if(x2==1||a[x2-1][y2]=='*')flag2++;
			else a[x2][y2]='.',a[x2-1][y2]='C',x2-=1;
		}
		else if(flag2==1)
		{
			if(x2==10||a[x2][y2+1]=='*')flag2++;
			else a[x2][y2]='.',a[x2][y2+1]='C',y2+=1;
		}
		else if(flag2==2)
		{
			if(x2==10||a[x2+1][y2]=='*')flag2++;
			else a[x2][y2]='.',a[x2+1][y2]='C',x2+=1;
		}
		else if(flag2==3)
		{
			if(y2==1||a[x2][y2-1]=='*')flag2=0;
			else a[x2][y2]='.',a[x2][y2-1]='F',y2-=1;
		}
		ss=x3+y3*10+x2*100+y2*1000+flag1*10000+flag2*40000;
		if(stop[ss])
		{
			cout<<0;
			return 0;
		}
		stop[ss]=1;
	
			}
    return 0;  
}
```cpp
2023/1/4 15:21
加载中...