有亿点难
2026-05-30 21:09:24
发布于:浙江
1阅读
0回复
0点赞
经过我0日的修炼,终于!————拉了托大的
#include <bits/stdc++.h>
using namespace std;
int n,m;
int sx,sy,fx,fy;
char a[45][45];
int vis[45][45];
bool ok=false;
int dx[] ={-1,1,0,0};
int dy[] = {0,0,-1,1};
void dfs(int x,int y){
if(x == fx && y==fy){
ok = true;
return;
}
for (int i=0;i<4;i++){
int nx = x+dx[i];
int ny = y+dy[i];
if(nx >= 1 && nx <= n && ny >= 1 && ny <= m&& a[nx][ny] == '.' && vis[nx][ny] == 0){
vis[nx][ny] = 1;
dfs(nx, ny);
vis[nx][ny] = 0;
}
}
}
int main(){
cin >>n>>m;
cin >>sx>>sy>>fx>>fy;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin >>a[i][j];
}
}vis[sx][sy]=1;
dfs(sx,sy);
if(ok==true){
cout<<"YES";
}else{
cout <<"NO";
}
return 0;
}
这里空空如也






有帮助,赞一个