Nyoj 523&&Hud 1253 亡命逃窜[Bfs]
来源:互联网 发布:anaconda安装教程linux 编辑:程序博客网 时间:2024/05/17 06:21
题目连接:点击打开链接
搜索以前没怎么学习,这次学长在讲就跟着学习了。基础的Bfs。很简单,主要学习的是实现的方法。
代码:
#include<cstdio>#include<cstring>#include<queue>using namespace std;const int N=53;int map[N][N][N];int a,b,c,t;int dx[7]={0,0,0,0,1,-1};int dy[7]={0,0,1,-1,0,0};int dz[7]={1,-1,0,0,0,0};struct Position{ int x,y,z; int step; Position(){} Position(int x1,int y1,int z1,int s1):x(x1),y(y1),z(z1),step(s1) {}};void bfs(){ Position node(0,0,0,0); map[0][0][0]=1; queue<Position> q; q.push(node); while(!q.empty()) { Position temp,x1; temp=q.front(); q.pop(); if(temp.x==a-1&&temp.y==b-1&&temp.z==c-1) { if(temp.step<=t) printf("%d\n",temp.step); else printf("-1\n"); return ; } for(int i=0;i<6;i++) { x1.x=temp.x+dx[i];x1.y=temp.y+dy[i];x1.z=temp.z+dz[i]; if(x1.x>=0&&x1.x<a&&x1.y>=0&&x1.y<b&&x1.z>=0&&x1.z<c&&map[x1.x][x1.y][x1.z]==0) { x1.step=temp.step+1; q.push(x1); map[x1.x][x1.y][x1.z]=1; } } }printf("-1\n");}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&a,&b,&c,&t); for(int i=0;i<a;i++) for(int j=0;j<b;j++) for(int k=0;k<c;k++) scanf("%d",&map[i][j][k]); bfs(); } return 0;}
- Nyoj 523&&Hud 1253 亡命逃窜[Bfs]
- nyoj 523 亡命逃窜 【BFS】
- nyoj 523 亡命逃窜 【bfs】
- nyoj 523 亡命逃窜 【三维bfs】
- nyoj--523--亡命逃窜(BFS水题)
- NYOJ 523 亡命逃窜(三维BFS)
- NYOJ 523 亡命逃窜 (bfs)
- nyoj 523 亡命逃窜
- 亡命逃窜 nyoj 523
- 523 亡命逃窜【bfs】
- NYOJ 523 亡命逃窜(3维bfs+队列)
- NYOJ 523亡命逃窜(搜索)
- nyoj 523:亡命逃窜(广搜)
- NYOJ 亡命逃窜
- NYOJ亡命逃窜
- NYOJ 亡命逃窜
- 亡命逃窜(BFS)
- 题目523:亡命逃窜
- LINUX cp复制文件或目录
- IntelliJ主题与乱码
- java android setting
- 获取android手机通讯录 SIM卡
- 好用的BI开源报表工具介绍
- Nyoj 523&&Hud 1253 亡命逃窜[Bfs]
- 浅谈C++多态性
- 使用waveOut接口在Windows中播放声音
- JDBC中文插入MySQL数据库乱码解决
- AIX下的MPIO、RDAC、SDDPCM多路径软件操作
- cmd /c和cmd /k
- Java 7之基础类型第1篇 - Java数据类型
- Linux集群文件系统简单介绍
- PHP运行出现Notice : Use of undefined constant 的解决办法