WA第一个点求调(atcoder官网)
查看原帖
WA第一个点求调(atcoder官网)
820947
PvbeLLN楼主2023/11/13 09:20
#include <bits/stdc++.h>
using namespace std;
int m,n,sx,sy;
char g[505][505];
bool vis[505][505];
int dirx[5]={1,0,-1,0};
int diry[5]={0,1,0,-1};

bool dfs(int x,int y)
{
	if (g[x][y]=='g') {return 1;}
	vis[x][y]=1;
	for (int i=0;i<4;i++)
	{
		int tx=x+dirx[i];
		int ty=y+diry[i];
		if (tx>=1&&tx<=m&&ty>=1&&ty<=n&&!vis[tx][ty]&&g[tx][ty]!='#')
			if (dfs(tx,ty)) return 1;
	}
	return 0;
}

int main()
{
	cin>>n>>m;
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
		{
			cin>>g[i][j];
			if (g[i][j]=='s')
			{
				sx=i;
				sy=j;
			}
		}
	if (dfs(sx,sy)) cout<<"Yes";
	else cout<<"No";
	return 0;
}
2023/11/13 09:20
加载中...