题解
2024-01-20 22:19:06
发布于:广东
36阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int k,n,m,ha,la,hb,lb;
char a[1145][1145];
bool vis[1145][1145];
int xcor[4]={0,1,0,-1};
int ycor[4]={-1,0,1,0};
bool b;
void dfs(int x,int y)
{
if(x==hb&&y==lb) b=true;
for(int i=0;i<4;i++)
{
if(x<1||y<1||x>n||y>m||a[x][y]=='#'||vis[x][y]) continue;
vis[x][y]=1;
dfs(x+xcor[i],y+ycor[i]);
vis[x][y]=0;
}
}
int main()
{
b=false;
cin>>n>>m;
cin>>ha>>la>>hb>>lb;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
dfs(ha,la);
if(b) cout<<"YES\n";
else cout<<"NO\n";
}
这里空空如也
有帮助,赞一个