#include #include #include using namespace std; int a,b; int fx,fy,ex,ey; char map[501][501]; const int dx[]={0,0,1,-1},dy[]={1,-1,0,0}; struct d{ int x,y; }; void bfs(){ queue q; q.push({fx,fy}); while(!q.empty()){ int nx=q.front().x,ny=q.front().y; if(nx==ex&&ny==ey){puts("Yes");return;} q.pop(); for(int i=0;i<4;i++){ if(nx+dx[i]>=0&&nx+dx[i]=0&&ny+dy[i]<b&&map[nx+dx[i]][ny+dy[i]]!='#')q.push({nx+dx[i],ny+dy[i]}); } } puts("No"); } int main(){ while(cin>>a>>b){ //cout<<a<<b<<endl; for(int i=0;i<a;i++){ for(int j=0;j<b;j++){ cin>>map[i][j]; if(map[i][j]=='S')fx=i,fy=j; else if(map[i][j]=='E')ex=i,ey=j; } } bfs(); } }
内存超限救救
全部评论
(0) 回帖