#include<bits/stdc++.h>
//#pragma GCC optimize(2)
using namespace std;
bool flag=false;
int ax,ay,bx,by;
int tx[4]={0,1,0,-1},ty[4]={1,0,-1,0};
bool b[101][101];
char a[101][101];
int n;
void xxx(int x,int y)
{
if(x==bx&&y==by)
{
flag=true;
return ;
}
int dx,dy;
for(int i=0;i<4;i++)
{
dx=tx[i]+x;
dy=ty[i]+y;
if(dx>=0&&dy>=0&&dx<n&&dy<n&&b[dx][dy]&&a[dx][dy]=='.')
{
x=dx,y=dy;
b[x][y]=false;
xxx(x,y);
b[x][y]=true;
x=x-tx[i];
y=y-ty[i];
}
}
}
int main()
{
int k;
cin>>k;
while(k>0)
{
flag=false;
cin>>n;
memset(b,true,sizeof(b));
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
cin>>ax>>ay>>bx>>by;
b[ax][ay]=false;
if(a[ax][ay]=='#'||a[bx][by]=='#')
{
cout<<"NO";
continue;
}
xxx(ax,ay);
if(flag)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
k--;
}
}
样例过了,评测全TLE