#include<bits/stdc++.h>
using namespace std;
long long n,xx[6]={0,1,0,-1},yy[6]={1,0,-1,0},h=0,ha,la,hb,lb,k,t;
string a[666];
bool f[666][666];
void dfs(int x,int y){
if(t){
return;
}
for(int i=0;i<4;i++){
int nx=x+xx[i],ny=y+yy[i];
if(nx>=0&&nx<n&&ny>=0&&ny<n&&!f[nx][ny]&&a[nx][ny]=='.'){
f[nx][ny]=true;
if(nx==hb&&ny==lb){
t=1;
h++;
cout<<"YES"<<endl;
break;
}
else dfs(nx,ny);
}
}
}
int main(){
cin>>k;
for(long long z=1;z<=k;z++){
t=0;
cin>>n;
for(long long i=0;i<n;i++) cin>>a[i];
cin>>ha>>la>>hb>>lb;
if(a[ha][la]=='#'||a[hb][lb]=='#'){
cout<<"NO"<<endl;
continue;
}
else {
f[ha][la]=true;
dfs(ha,la);
}
if(h==0) cout<<"NO"<<endl;
for(int i=0;i<111;i++)
for(int j=0;j<111;j++) f[i][j]=false;
h=0;
}
return 0;
}
评论区