三维bfs(HUD1253胜利大逃亡)
#include <stdio.h>
#include <string.h>
int map[51][51][51];
int v[51][51][51];
int a,b,c,t11;
struct node
{
int x,y,z,ans;
}q[200001];
int jx[6]={0,0,0,0,-1,1};
int jy[6]={0,0,1,-1,0,0};
int jz[6]={1,-1,0,0,0,0};
void bfs()
{
memset(v,0,sizeof(v));
struct node t,f;
int e=0;
int s=0;
t.x=0;
t.y=0;
t.z=0;
v[0][0][0]=1;
t.ans=0;
q[e++]=t;
while(s<e)
{
t=q[s++];
if((t.x==a-1)&&(t.y==b-1)&&(t.z==c-1)&&(t.ans<=t11))
{
printf("%d\n",t.ans);
return ;
}
for(int i=0;i<6;i++)
{
f.x=t.x+jx[i];
f.y=t.y+jy[i];
f.z=t.z+jz[i];
if(f.x>=0&&f.x<a&&f.y>=0&&f.y<b&&f.z>=0&&f.z<c&&v[f.x][f.y][f.z]==0&&map[f.x][f.y][f.z]==0)
{
f.ans=t.ans+1;//我二逼似的在这里写了f.ans=t.ans++;那么f.ans=0;
q[e++]=f;
v[f.x][f.y][f.z]=1;
}
}
}
printf("-1\n");
return ;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d%d",&a,&b,&c,&t11);
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;
}
三维bfs(HUD1253胜利大逃亡)的更多相关文章
- BFS:胜利大逃亡
解题心得: 1.水题,主要主意好一个点就好. 2.注意x.y.z坐标的选取就好. 题目: Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城 ...
- HDU 1253 (简单三维广搜) 胜利大逃亡
奇葩!这么简单的广搜居然爆内存了,而且一直爆,一直爆,Orz 而且我也优化过了的啊,尼玛还是一直爆! 先把代码贴上睡觉去了,明天再来弄 //#define LOCAL #include <ios ...
- hdu 1253 胜利大逃亡 (三维简单bfs+剪枝)
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- [ACM] hdu 1253 胜利大逃亡 (三维BFS)
胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这但是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,能够被表示 ...
- HDU 1253:胜利大逃亡(简单三维BFS)
pid=1253">胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
- HDU1253 胜利大逃亡 BFS
胜利大逃亡 Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submiss ...
- HDU1253 胜利大逃亡(BFS) 2016-07-24 13:41 67人阅读 评论(0) 收藏
胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示 ...
- hdu 1253:胜利大逃亡(基础广搜BFS)
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU1253 胜利大逃亡 (BFS)
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
随机推荐
- 学习mongoDB的网站
- Windows的文件类型关联
在用脚本语言开发时尤其是在windows环境下发现想自动在命令行环境下运行脚本必须要带着相应的解释器的路径才行,不然就会提示无法找到对应的命令,于是乎在<学习Ruby>这本书中对于文件类型 ...
- JavaScript外部函数调用AngularJS的函数、$scope
x 场景: 需要在用FusionCharts画的柱状图中添加点击事件,But弹出框是Angularjs搞的,我想的是直接跳到弹出框的那个路由里,然后在弹出框的控制器中绑定数据即可: /* 点击事件 * ...
- 制作tomcat重启.bat文件
环境是在windows下,linux不知道,没有尝试过,有机会去试试哈哈 首先创建一个restart.bat文件 创建在哪里看你开心咯 然后用记事本打开 输入以下源代码: @echo off cd / ...
- Ubuntu下搭建JAVA开发环境及卸载
据调查,在中国,PC时代,绝大多数普通用户都不知道linux为何物,到了移动互联网时代,更加不知道,也不会再知道了. 所以,此文不多解释,使用linux的,都是IT界人士,不必普及基础知识. 从已经安 ...
- CCPC-Wannafly Winter Camp Day1 Div1 - 爬爬爬山 - [最短路][堆优化dijkstra]
题目链接:https://zhixincode.com/contest/3/problem/F?problem_id=39 样例输入 1 4 5 1 1 2 3 4 1 2 1 1 3 1 1 4 ...
- [No0000B8]WPF或Winform调用系统Console控制台显示信息
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using Sys ...
- MySQL体系结构之物理文件
一.MySQL日志文件 mysql日志文件及功能: 日志文件 功能 错误日志 记录启动.停止.运行过程中mysqld时出现的问题 通用日志 记录建立客户端连接和执行的语句 二进制日志 记录更改数据的所 ...
- English class 81:How Vulnerability can make our lives better?
1,can we come off as weak if we show imperfections? 2,The first thing I look for in you and the last ...
- 理解HTTP协议(转载)
一.HTTP协议的演进 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向 ...