救命
查看原帖
救命
1294038
mayiwen楼主2024/8/15 17:30
#include<bits/stdc++.h>
using namespace std;
char a[110][110];
int xx[11000],yy[11000],u[4]={1,-1,0,0},v[4]={0,0,1,-1};
int n,m,s=0;
void bfs(int x,int y)
{
	int t=1,w=0;
	xx[1]=x;
	yy[1]=y;
	while(t>=w)
	{
		w++;
		for(int i=0;i<=3;i++)
		{
			int q=xx[w]+u[i],p=yy[w]+v[i];
			if(q<=n&&q>=1&&p<=m&&p>=1&&a[q][p]=='.')
			{
				if(q==n&&p==m)
				{
					s=1;
					return;
				}
				t++;
				xx[t]=x;
				yy[t]=y;
			}
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>a[i][j];
	bfs(1,1);
	if(n==1&&m==1)
	{
		cout<<"Yes";
		return 0;
	}
	if(s==0)
		cout<<"No";
	else
		cout<<"Yes";
	return 0;
}

2024/8/15 17:30
加载中...