A计划Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 33133 Accepted Submission(s): 8204 Problem Description
Input
Output
Sample Input
Sample Output
|
老弟们,一定要记得初始化,一定要记得初始化,一定要记得初始化!!!
#include<bits/stdc++.h>
using namespace std;
char a[2][11][11];
bool flag;
int M,N,T;
void search(int v,int x,int y,int t)
{
if(x<0||x>=M||y<0||y>=N) return ;
if(a[v][x][y]=='*') return ;
if(flag==1 ) return ;
if(a[v][x][y]=='P')
{
if(t<=T)
flag=1;
return ;
}
if(t>T) return;
if(a[v][x][y]=='#')
{
a[v][x][y]='*';
if(a[!v][x][y]=='#')
return;
if(v==1) search(0,x,y,t);
else search(1,x,y,t);
a[v][x][y]='#';
return;
}
a[v][x][y]='*';
search(v,x+1,y,t+1);
search(v,x-1,y,t+1);
search(v,x,y+1,t+1);
search(v,x,y-1,t+1);
a[v][x][y]='.';
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>M>>N>>T;
flag=0;
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
cin>>a[0][i][j];
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
cin>>a[1][i][j];
search(0,0,0,0);
if(flag) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}