hdu 1253 胜利大逃亡 BFS
来源:互联网 发布:vb最新版 编辑:程序博客网 时间:2024/05/21 22:46
题目分析:{1,0,0}写成{0,1,0},,,囧呀 找了半天错误,,,,,
#include<iostream>#include<cstdio>#include<queue>using namespace std;int maze[55][55][55],k,a,b,c,t,flag,ans;int move[6][3]={{0,0,1},{0,1,0},{1,0,0},{0, 0,-1},{0,-1,0},{-1,0,0}};//下 右 前 上 左 后{0,1,0}!!!!!!!!!!!!!struct node{int x;int y;int z;int t;}begin,hash[55][55][55];int IN(int x,int y,int z){ if(x<=0||x>a ||y<=0||y>b ||z<=0||z>c) return 0; else return 1;}void BFS(){int i;node cur,temp; queue<node>q;begin.x=1,begin.y=1,begin.z=1;begin.t=0;maze[begin.x][begin.y][begin.z]=1;//起点忘标记了q.push(begin);while(!q.empty()){cur=q.front();q.pop();/*if((cur.x+cur.y+cur.z-a-b-c)-(t-cur.t)>0)//错过continue; //return; 剪枝*/for(i=0;i<6;i++){temp.x=cur.x+move[i][0];temp.y=cur.y+move[i][1];temp.z=cur.z+move[i][2];temp.t=cur.t+1;if(temp.x==a&&temp.y==b&&temp.z==c){flag=1;ans=temp.t;return;}if(IN(temp.x,temp.y,temp.z) && maze[temp.x][temp.y][temp.z]==0){maze[temp.x][temp.y][temp.z]=1;//走过的节点 都被标记 免得重走q.push(temp);}}}}int main(){int i,j,m;scanf("%d",&k);while(k--){scanf("%d %d %d %d",&a,&b,&c,&t);for(i=1;i<=a;i++)for(j=1;j<=b;j++)for(m=1;m<=c;m++)scanf("%d",&maze[i][j][m]);//搞成 abm了 /***for(i=1;i<=a;i++){for(j=1;j<=b;j++){for(m=1;m<=c;m++)printf("%d ",maze[i][j][m]);printf("\n");}printf("\n");}cout<<endl<<endl;*/ flag=0,ans=0;if(maze[a][b][c]==1||a+b+c-t>0)printf("-1\n");else{ BFS(); if(flag==0||ans>t) printf("-1\n"); else printf("%d\n",ans);}}return 0;}
- hdu 1253胜利大逃亡 bfs
- hdu 1253 胜利大逃亡 BFS
- [BFS] hdu 1253 胜利大逃亡
- hdu 1253 胜利大逃亡 (三维bfs)
- hdu 1253 胜利大逃亡 (bfs)
- hdu 1253 胜利大逃亡(BFS)
- HDU 1253 胜利大逃亡(BFS)
- HDU-1253 胜利大逃亡 (BFS)
- hdu 1253 胜利大逃亡 bfs
- hdu 1253bfs胜利大逃亡
- HDU 1253 胜利大逃亡 (BFS,剪枝)
- hdu 1253 胜利大逃亡(bfs)
- HDU 1253 胜利大逃亡(BFS)
- HDU 1253 胜利大逃亡(BFS)
- HDU 1253 胜利大逃亡 三维BFS
- HDU 1253 胜利大逃亡 【BFS】
- HDU 1253 -- 胜利大逃亡 bfs
- HDU--1253胜利大逃亡【BFS】
- 黑马程序员_面向对象三大特性
- cvFillPoly
- gdbserver: linux-x86-low.c error: sys/reg.h: No such file or directory
- 职场人生(五):思考缺席九期作品演习
- 设计模式(一)工厂模式Factory(创建型)
- hdu 1253 胜利大逃亡 BFS
- object-->string-->long
- hdu 1016 Prime Ring Problem(DFS +回溯法)
- 中兴3G模块ID和端口号说明
- 13、backbone实战:webchat(二)详细设计
- hdu 1548A strange lift1(简单的BFS)
- cvInitFont cvPutText
- 多态性
- jQuery Ajax 全解析