求助,为什么所有样例出“No”
查看原帖
求助,为什么所有样例出“No”
356055
The_NewBoy楼主2021/7/31 07:27

awa

#include<bits/stdc++.h>
using namespace std;
int n,m;
char c[505][505];
bool able=false;
bool vis[506][506];
void dfs(int x,int y){
	if(able)return;
	if(vis[x][y]==1)return;
	if(c[x][y]=='g'){
		able=true;return;
	}
	if(x<1||y<1||x>n||y>m||vis[x][y])return;
	if(c[x][y]!='.'&&c[x][y]!='s')return;
	vis[x][y]=1;
	dfs(x+1,y);
	dfs(x-1,y);
	dfs(x,y+1);
	dfs(x,y-1);
	return;
}
int sx,sy;
int main(void){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if((c[i][j]=getchar())=='s'){
				sx=i,sy=j;
			}
		}
	}
	dfs(sx,sy);
	puts(able?"Yes":"No");
	return 0;
}
2021/7/31 07:27
加载中...