AcWing 1112. 迷宫
原题链接
简单
作者:
最后五分钟
,
2024-03-15 00:03:06
,
所有人可见
,
阅读 15
#include<bits/stdc++.h>
#define LL long long
#define x first
#define y second
#define de(x) cout<<#x<<" = "<<x<<" "
#define deg(x) cout<<#x<<" = "<<x<<endl
using namespace std;
const int N=110;
typedef pair<int,int> PII;
char g[N][N];
int dx[]={0,0,1,-1},dy[]={1,-1,0,0};
int n;
int st[N][N];
void dfs(int x,int y)
{
if(x<=0||x>n||y<=0||y>n||st[x][y]==1||g[x][y]=='#')return;
st[x][y]=1;
for(int i=0;i<4;i++)
{
int xx=x+dx[i],yy=y+dy[i];
dfs(xx,yy);
}
}
void sol()
{
memset(st,0,sizeof st);
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>g[i][j];
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
dfs(x1+1,y1+1);
if(st[x2+1][y2+1])cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int k;
cin>>k;
while(k--)
sol();
return 0;
}