HDU 1253-大逃亡(裸-DBFS)
Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
魔王住在一个城堡里,城堡是一个A*B*C的立方体,能够被表示成A个B*C的矩阵,刚開始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,如今知道魔王将在T分钟后回到城堡,Ignatius每分钟能从一个坐标走到相邻的六个坐标中的当中一个.如今给你城堡的地图,请你计算出Ignatius是否能在魔王回来前离开城堡(仅仅要走到出口就算离开城堡,假设走到出口的时候魔王刚好回来也算逃亡成功),假设能够请输出须要多少分钟才干离开,假设不能则输出-1.
Input
特别注意:本题的測试数据很大,请使用scanf输入,我不能保证使用cin能不超时.在本OJ上请使用Visual C++提交.
Output
Sample Input
Sample Output
<span style="font-size:18px;">#include <cstdio></span><span style="font-size: 17px;">
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
int A,B,C,T;
bool vis[60][60][60];
bool ma[60][60][60];
typedef struct node
{int x,y,z,step;
};
int mv[6][3]={{0,0,1},{0,0,-1},{1,0,0},{-1,0,0},{0,1,0},{0,-1,0}};//6个方向
void bfs()
{queue <node> Q;node t; t.x=0;t.y=0;t.z=0;t.step=0;vis[0][0][0]=1;Q.push(t);while(!Q.empty()){node f=Q.front();Q.pop();if(f.x==A-1&&f.y==B-1&&f.z==C-1){if(f.step<=T){printf("%d\n",f.step);return ;}else{puts("-1");return ;}}for(int i=0;i<6;i++){t.x=f.x+mv[i][0];t.y=f.y+mv[i][1];t.z=f.z+mv[i][2];if(0<=t.x&&t.x<A&&0<=t.y&&t.y<B&&0<=t.z&&t.z<C&&!vis[t.x][t.y][t.z]&&!ma[t.x][t.y][t.z]){vis[t.x][t.y][t.z]=1;t.step=f.step+1;Q.push(t);}}}puts("-1");
}
int main()
{int K,i,j,k;scanf("%d",&K);while(K--){scanf("%d%d%d%d",&A,&B,&C,&T);memset(vis,0,sizeof(vis));for(i=0;i<A;i++)for(j=0;j<B;j++)for(k=0;k<C;k++)scanf("%d",&ma[i][j][k]);bfs();}return 0;
}</span>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
转载于:https://www.cnblogs.com/hrhguanli/p/4630212.html
HDU 1253-大逃亡(裸-DBFS)相关推荐
- HDU 胜利大逃亡(BFS)
HDOJ 1253 胜利大逃亡 (BFS) Problem Description BFS 完整代码 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是I ...
- HDU - 胜利大逃亡(搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1253 Time Limit: 4000/2000 MS (Java/Others) Memory Li ...
- HDU 1253 胜利大逃亡
胜利大逃亡 Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 1253 ...
- HDOJ 1253 HDU 1253 胜利大逃亡 ACM 1253 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1253 题目描述: ...
- HDU 1253 - 胜利大逃亡
HDU 1253 - 胜利大逃亡 Problem: a* b* c 立方体,从(1,1,1)到(a,b,c),最短路<=限制时间 Solution: BFS Code: #include< ...
- HDU 1253.胜利大逃亡
胜利大逃亡 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u SubmitStatusP ...
- [ACM] hdu 1253 胜利大逃亡 (三维BFS)
胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这但是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,能够被表示 ...
- HDU 1253 胜利大逃亡 题解
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU 1253 胜利大逃亡
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
最新文章
- 物联网时代 人工智能如何与信息安全平衡发展?
- P1462 通往奥格瑞玛的道路[最短路+二分+堆优化]
- Netty通信框架Java实现小记
- opengl关于obj文件相关知识
- TRDD got lost again
- mysql默认乐观锁悲观锁_MySQL中悲观锁和乐观锁到底是什么?-阿里云开发者社区...
- Qt|OpenGL学习笔记-绕X轴、Y轴、以及XY轴旋转的四边体
- python 面向对象_多态、内置方法、反射
- Android开发笔记(四十八)Thread类实现多线程
- 磁盘阵列(RAID)
- 与计算机专业的社会学的论文,计算机专业研究生论文致谢词
- Microsoft Office Excel 已停止工作
- java开发工具排名_排名前16的Java工具类
- 找不到或无法加载主类怎么办
- 为什么网页游戏不停开新服务器,网页游戏为什么要不断开新服?
- 使用xcode无开发者账号打包.ipa文件
- 添加Win10文件夹详细信息------统一显示内容
- 山东大学软件学院数据仓库数据挖掘期末复习
- Android MVP架构
- c语言二维函数杨辉三角,C语言编写杨辉三角(二维数组方法)