dfs,O(k×n2)
#include<iostream>
using namespace std;
const int N=105;
int n;
char a[N][N];
int x1,y1,x2,y2;
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
bool f;
void dfs(int x,int y){
if(x<1||x>n||y<1||y>n) return;
if(x==x2&&y==y2) f=true;
a[x][y]='#';
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(a[xx][yy]!='#') dfs(xx,yy);
}
}
int main(){
int t;scanf("%d",&t);
while(t--){
f=false;scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%s",a[i]+1);
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
x1++,x2++,y1++,y2++;
if(a[x1][y1]=='#'||a[x2][y2]=='#') {
printf("NO\n");
continue;
}
dfs(x1,y1);
if(f) printf("YES\n");
else printf("NO\n");
}
return 0;
}