q.h=p.h;
q.step=p.step+1;
if(isbond(q))continue; // 边界
if(maze[q.h][q.x][q.y]=='*')continue; //当前障碍
if(visit[q.h][q.x][q.y])continue; //访问
if(maze[q.h][q.x][q.y]=='P'){
if(q.step<=t){
flag=1;
return ;
}
return ;
}
visit[q.h][q.x][q.y]=1;
Q.push(q);
}
}
}
void remap()
{
for(int i=0;i
for(int j=0;j
if((maze[0][i][j]=='#'&&maze[1][i][j]=='#')||(maze[0][i][j]=='#'&&maze[1][i][j]=='*')||(maze[0][i][j]=='*'&&maze[1][i][j]=='#'))
maze[0][i][j]=maze[1][i][j]='*';
}
}
int main()
{
int c;
// ifstream fin;
// fin.open("aaa.txt");
cin>>c;
while(c--)
{
cin>>n>>m>>t;
for(int i=0;i
}
for(int i=0;i
}
flag=0;
memset(visit,0,sizeof(visit));
remap();
bfs();
if(flag)cout<<"YES"<
}
return 0;
}