#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