题解
2025-11-23 17:37:14
发布于:北京
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=50;
int n,m;
int sx,sy;
int ex,ey;
char mp[N][N];
bool vis[N][N];
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
struct node{
int x,y;
};
int main(){
cin>>n>>m;
cin>>sx>>sy;
cin>>ex>>ey;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
queue<node>q;
q.push({sx,sy});
vis[sx][sy]=1;
while(q.size()>0){
node s=q.front();
q.pop();
for(int i=0;i<4;i++){
node a;
a.x=s.x+dx[i];
a.y=s.y+dy[i];
if(a.x>=1&&a.y>=1&&a.x<=n&&a.y<=m&&mp[a.x][a.y]=='.'&&vis[a.x][a.y]==0){
vis[a.x][a.y]=1;
q.push(a);
if(a.x==ex&&a.y==ey){
cout<<"YES\n";
return 0;
}
}
}
}
cout<<"NO\n";
return 0;
}
这里空空如也







有帮助,赞一个