HDU2102 A计划 (基础BFS)
来源:互联网 发布:电脑打电话软件下载 编辑:程序博客网 时间:2024/05/16 19:35
题意:中文,不解释,但是要注意一点的是,传送门后面是墙或者还是传送门,那么这条路是不可行的
#include<iostream>#include<cstdlib>#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>#include<queue>#include<set>#include<stack>#define cl(a,b) memset(a,b,sizeof(a));#define LL long long#define P pair<int,int>#define X first#define Y second#define pb push_back#define out(x) cout<<x<<endl;using namespace std;const int maxn=15;const int inf=9999999;int n,m,t;char a[2][maxn][maxn];bool vis[2][maxn][maxn];struct node{ int x,y; bool level;//在图的层次 int step; node(){} node(int a,int b,int c,int d):level(a),x(b),y(c),step(d){}};int dir[][2]={1,0,0,1,-1,0,0,-1};int bfs(){ cl(vis,false); queue<node> q; q.push(node(0,0,0,0)); vis[0][0][0]=true; while(!q.empty()){ node tmp=q.front();q.pop(); for(int i=0;i<4;i++){ node s=tmp; s.x+=dir[i][0]; s.y+=dir[i][1]; s.step++; if(a[s.level][s.x][s.y]=='#'&&(a[!s.level][s.x][s.y]=='*'||a[!s.level][s.x][s.y]=='#'))continue; if(a[s.level][s.x][s.y]=='#'&&a[!s.level][s.x][s.y]!='*'&&a[!s.level][s.x][s.y]!='#'){ s.level=!s.level;//遇到传送门,就传送了 } if(s.x<0||s.x>=n||s.y<0||s.y>=m||a[s.level][s.x][s.y]=='*')continue; if(vis[s.level][s.x][s.y])continue; if(a[s.level][s.x][s.y]=='P'){ return s.step; } vis[s.level][s.x][s.y]=true; q.push(s); } } return -1;}int main(){ int T; scanf("%d",&T); int cas=1; while(T--){ scanf("%d%d%d",&n,&m,&t); for(int i=0;i<n;i++){ scanf("%s",a[0][i]); } for(int i=0;i<n;i++){ scanf("%s",a[1][i]); } int ans=bfs(); //printf("ans = %d\n",ans); if(ans==-1||ans>t){ puts("NO"); } else { puts("YES"); } } return 0;}
0 0
- HDU2102 A计划 (基础BFS)
- HDU2102:A计划(BFS)
- HDU2102:A计划(BFS)
- hdu2102 A计划 (BFS)
- [bfs] HDU2102 A计划
- hdu2102 A计划--BFS
- HDU2102:A计划(BFS)
- hdu2102 A计划【BFS】
- HDU2102 A计划(三维BFS)
- hdu2102 A计划(2层bfs)
- hdu2102 A计划(双层BFS)
- hdu2102-A计划-dfs剪枝|bfs
- HDU2102 A计划 —— BFS
- hdu2102-A计划(dfs)
- ACM-BFS之A计划——hdu2102
- HDU2102---A计划(附测试数据)
- hdu2102 A计划
- hdu2102 A计划
- 台风“苏迪罗”夜间登陆福建最大风力15级
- 转:“智齿”到底该不该拔?
- 关于synchronized具备原子性的问题
- Leetcode48 Rotate Image
- HDU 2191
- HDU2102 A计划 (基础BFS)
- JAVA中CLASS.FORNAME的含义
- flowplayer视频播放插件
- 27Remove Element
- C++ linux epoll并发服务器模型初探
- 代码从记事本拷贝到 source insight 工程出现中文乱码解决办法
- 我在使用的Xcode插件
- 【CF 515D】 Drazil and Tiles
- Hdoj 2527 Safe or Unsafe