- 迷宫
代码
- @ 2026-5-30 14:28:53
#include<bits/stdc++.h>
using namespace std;
int n,sx,sy,ex,ey;
string a[105];
bool v[105][105],f;
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
void dfs(int x,int y){
if(x==ex&&y==ey){f=1;return;}
v[x][y]=1;
for(int i=0;i<4;i++){
int nx=x+dx[i],ny=y+dy[i];
if(nx>=0&&nx<n&&ny>=0&&ny<n&&a[nx][ny]=='.'&&!v[nx][ny])
dfs(nx,ny);
}
}
int main(){
int k;cin>>k;
while(k--){
cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
cin>>sx>>sy>>ex>>ey;
if(a[sx][sy]=='#'||a[ex][ey]=='#'){cout<<"NO\n";continue;}
memset(v,0,sizeof(v));f=0;
dfs(sx,sy);
cout<<(f?"YES\n":"NO\n");
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 217
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 229
- 已通过
- 49
- 上传者