hdu~1253(bfs)
来源:互联网 发布:农村电商网络服务中心 编辑:程序博客网 时间:2024/04/29 22:43
http://acm.hdu.edu.cn/showproblem.php?pid=1253
简单bfs,就是多了上下两个方向,用bfs做的话,好像一旦到了终点,这条路就是最短的。
注意seat【】【】【】中第一维存的是Z坐标,
不过由于此题起点为0 0 0,终点为a-1,b-1,c-1(我在题目中改成1,1,1到a,b,c)。所以这个没影响。
<span style="font-size:18px;">#include <stdio.h>#include <queue>#define MAX 55int seat[MAX][MAX][MAX];//存图int a,b,c,t,ans;int dir[10][3]={0,0,0,1,0,0,0,1,0,-1,0,0,0,-1,0,0,0,1,0,0,-1};//三维的,多了两个方向typedef struct ac{ int x,y,z,time;}node;using namespace std;void bfs(int x,int y,int z,int time){ queue <node > q; node next,temp; next.x=x; next.y=y; next.z=z; next.time=time; seat[x][y][z]=1;//走过记为1,(这里的墙也是用1表示的)<span style="white-space:pre"></span> q.push(next); while(!q.empty()) { next=q.front(); q.pop(); if(next.x==a && next.y==b && next.z==c)//到终点返回 { ans=next.time; return ; } for(int i=1;i<=6;i++) { temp.x=next.x+dir[i][0]; temp.y=next.y+dir[i][1]; temp.z=next.z+dir[i][2]; temp.time=next.time+1; if(temp.x<1 || temp.x>a || temp.y<1 || temp.y>b || temp.z<1 || temp.z>c) continue; if(seat[temp.x][temp.y][temp.z]) continue; seat[temp.x][temp.y][temp.z]=1; q.push(temp); } }}int main(){ int i,j,l,T; scanf("%d",&T); while(T--) { scanf("%d %d %d %d",&a,&b,&c,&t); for(i=1;i<=a;i++) for(j=1;j<=b;j++) for(l=1;l<=c;l++) scanf("%d",&seat[i][j][l]); ans=1005; bfs(1,1,1,0); if(ans>=t) //未在规定时间内到达。 printf("-1\n"); else printf("%d\n",ans); } return 0;}</span>
0 0
- hdu~1253(bfs)
- hdu 1253 胜利大逃亡(BFS)
- HDU 1253 胜利大逃亡(BFS)
- HDU-1253 胜利大逃亡 (BFS)
- hdu 1253 胜利大逃亡(bfs)
- HDU 1253 胜利大逃亡(BFS)
- HDU 1253 胜利大逃亡(BFS)
- hdu 1253 胜利大逃亡(BFS)
- hdu 1253 胜利大逃亡 (BFS)
- HDU 1253 胜利大逃亡 (BFS)
- HDU 1253 胜利大逃亡( BFS )
- HDU 1253 胜利大逃亡(BFS)
- hdu 1253 三维bfs
- HDU 1253(BFS)
- HDU[1253]--bfs
- hdu 1253 bfs
- hdu 1253 bfs
- hdu 1253 bfs
- Duilib教程-控件练习
- bootstrap学习笔记之导航条基础
- This result is a forward only result set, calling rewind() after moving forward is not supported
- SQL基础语法和举例(二)
- 2014秋C++第13周OJ题目参考
- hdu~1253(bfs)
- HDU 2841 Visible Trees(数论)
- 合并条件表达式
- 精灵变灰
- ARM条件执行指令练习题
- javascript 排序li
- Maximum Product Subarray 以及cout的输出顺序问题的讨论
- Block块语法
- 《JSP实用教程(第2版)/耿祥义》错误之第四章例7