#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[503][503];
bool b[503][503];
int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
int x,y,x2,y2;
int f=0;
void dfs(int xx,int yy){
if(f==1)return;
if(xx==x2&&yy==y2){
f=1;
return;
}
for(int j=0;j<=3;j++){
if(a[xx+dx[j]][yy+dy[j]]==1&&b[xx+dx[j]][yy+dy[j]]==0){
b[xx][yy]=1;
dfs(xx+dx[j],yy+dy[j]);
b[xx][yy]=0;
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n>>m;
char s;
for(int j=1;j<=n;j++){
for(int k=1;k<=m;k++){
cin>>s;
if(s=='s'){
x=j;
y=k;
a[j][k]=1;
}
if(s=='g'){
x2=j;
y2=k;
a[j][k]=1;
}
if(s=='.')a[j][k]=1;
if(s=='#')a[j][k]=0;
}
}
dfs(x,y);
if(f==0){
cout<<"No"<<endl;
}
else{
cout<<"Yes"<<endl;
}
return 0;
}
样例全过。。。。。。 现在我都不敢提交,怕卡测评机