深搜求调,玄关
查看原帖
深搜求调,玄关
1120417
douhuazhenren1楼主2024/3/6 17:19
#include<iostream>
#include<cstring>
using namespace std;
bool flag=0;
int x[520][520],n,m,qx,qy;
int v[520][520];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
char c;
void wljss(int a,int b)
{
    if(a<1||a>n||b<1||b>m||v[a][b]==1||x[a][b]==0) return;
	if(x[a][b]==2)
	{
		flag=1;
	}
	v[a][b]=1;
	for(int i=0;i<4;i++)
	{
		int x0=a+dx[i];
		int y0=b+dy[i];
		wljss(x0,y0);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			scanf("%s",&c);
			if(c=='s')
			{
				qx=i;
				qy=j;
				x[i][j]=3;
			}
			else if(c=='#')
			{
				x[i][j]=0;
			}
			else if(c=='g')
			{
				x[i][j]=2;
			}
			else if(c=='.')
			{
				x[i][j]=1;
			}
		}
	}
	wljss(qx,qy);
	if(flag)
	{
		cout<<"Yes"<<endl;
	}
	else
	{
		cout<<"No"<<endl;
	}
	return 0;
}

输出都没有QwQ

2024/3/6 17:19
加载中...