4 条题解
-
0
就深搜就彳亍了
#include<bits/stdc++.h> using namespace std; const int N=1e3+10; char a[N][N]; int k,n,m,xa,xb,ya,yb,flag; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; void dfs(int x,int y){ for(int i=0;i<4;i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>0&&nx<=n&&ny>0&&ny<=n&&a[nx][ny]=='.'){ a[nx][ny]='#'; if(nx==xb&&ny==yb){ flag=1; return; } dfs(nx,ny); } } } int main(){ cin>>k; while(k--){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } cin>>xa>>ya>>xb>>yb; xa++; ya++; xb++; yb++; flag=0; dfs(xa,ya); if(flag==0) cout<<"NO"<<endl; else cout<<"YES"<<endl; } return 0; }
信息
- ID
- 3023
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 90
- 已通过
- 42
- 上传者