题意:略

思路:此题陷阱超多,当##,#*,*#时不能走进去,套下模板就行了。

#include <iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define N 20
struct node{
int x,y,z;
int step;
}pri;
int next[][2]={{1,0},{0,1},{-1,0},{0,-1}};
char map[2][N][N];
int n,m,time;
bool vis[2][N][N];
bool check(node a){
if(a.x>=0&&a.x<n&&a.y>=0&&a.y<m&&map[a.z][a.x][a.y]!='*'
&&!vis[a.z][a.x][a.y]&&a.step<=time)
return 1;
return 0;
}
bool bfs(){
int i;
queue<node>q;
node tmp;
memset(vis,0,sizeof(vis));
q.push(pri);
vis[pri.z][pri.x][pri.y]=1;
while(!q.empty()){
tmp=q.front();
q.pop();
if(map[tmp.z][tmp.x][tmp.y]=='P'&&tmp.step<=time)
return 1;
for(i=0;i<4;i++){
node u;
u=tmp;
u.x+=next[i][0];
u.y+=next[i][1];
u.step+=1;
if(check(u)){
vis[u.z][u.x][u.y]=1;
if(map[u.z][u.x][u.y]=='#'&&!vis[(u.z+1)%2][u.x][u.y]){
u.z=(u.z+1)%2;
}
q.push(u);
}
}
}
return 0;
}
int main(int argc, char** argv) {
int t,i,j,k;
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&n,&m,&time);
for(k=0;k<2;k++)
for(i=0;i<n;i++){
scanf("%s",map[k][i]);
for(j=0;j<m;j++){
if(map[k][i][j]=='S'){
pri.x=i;
pri.y=j;
pri.z=k;
pri.step=0;
}
}
} for(i=0;i<n;i++)
for(j=0;j<m;j++){
if(map[0][i][j]=='#'&&map[1][i][j]=='#')
map[0][i][j]=map[1][i][j]='*';
if(map[0][i][j]=='*'&&map[1][i][j]=='#')
map[0][i][j]=map[1][i][j]='*';
if(map[1][i][j]=='*'&&map[0][i][j]=='#')
map[0][i][j]=map[1][i][j]='*';
}
if(bfs())
printf("YES\n");
else
printf("NO\n");
}
return 0;
}

最新文章

  1. 自制Unity小游戏TankHero-2D(3)开始玩起来
  2. C# Web版报表
  3. Pair of Numbers
  4. 在安装twincat plc时,出现 there are some files marked for deletion on next reboot.please reboot first then
  5. oschina 手机/移动开发
  6. Sphinx学习笔记(一)
  7. SDP(3):ScalikeJDBC- JDBC-Engine:Fetching
  8. UOJ#440. 【NOIP2018】填数游戏 动态规划
  9. LED硬件访问服务(2)——JNI/HAL
  10. post方式发送请求报文
  11. Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法
  12. android开发学习——day2
  13. 重点:QObject 的拷贝构造和赋值操作——私有
  14. Halcon二维仿射变换实例探究
  15. Solr相似度算法四:IBSimilarity
  16. SGU 209. Areas
  17. 组合框控件 -- CComboBox
  18. redis节点管理-新增主节点
  19. lodash 检查值是否存在 includes
  20. WOJ 39 塌陷的牧场

热门文章

  1. 007.androidUI开发进阶(基础--案例) .
  2. codecomb 2091【路径数量】
  3. 【Android】使用FrameLayout布局实现霓虹灯效果
  4. 关于iconfont
  5. apache启动问题: Could not reliably determine the server&#39;s fully qualified domain name
  6. Android默认启动程序问题
  7. Sql语句之查询所有学生所有科目分数及总分
  8. select count(distinct a)
  9. OC学习中遇到的问题总结
  10. Http 信息头