三维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 ...
随机推荐
- Java Debugging with Eclipse - Tutorial
1.1. What is debugging? Debugging allows you to run a program interactively while watching the sourc ...
- [No0000161]IDEA初步接触
安装 参考https://blog.csdn.net/qq_35246620/article/details/61191375 安装过程全程默认(路径和快捷方式自定义,不需要下载jre): 启动后全程 ...
- [No0000114]远程桌面剪贴板无法同步本机,无法复制粘贴问题解决
远程桌面无法与桌面共享复制内容(远程桌面复制之后,无法在本地桌面粘贴.反之亦然.),这时候需要杀掉一个进程并重新启动.[重启 rdpclip.exe] 1.在远程桌面中右键点击,选择启动任务管理器: ...
- MAC apache服务器搭建
一.启动原本服务器 首先打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密).如下显示Apache的版本: 可以输入启动命令进行启动: sudo apa ...
- Coding 小技巧
</pre>//格式化字符串的传递<p></p><p>#define FSKILL_LOG(format ,...) DREAMLAND_RUNI ...
- python学习目录(转载)
python基础篇 python 基础知识 python 初始python python 字符编码 python 类型及变量 python 字符串详解 python 列表详解 ...
- TensorFlow设置GPU占用量
默认开启Tensorflow的session之后,就会占用几乎所有的显存,进行如下设置即可: 指定GPU编号: import os os.environ["CUDA_VISIBLE_DEVI ...
- 基于external version进行乐观锁并发控制
?version=1?version=1&version_type=external它们的唯一区别在于,_version,只有当你提供的version与es中的_version一模一样的时候, ...
- docker端口映射或启动容器时报错
原始镜像如下: REPOSITORY TAG IMAGE ID CREATED SIZE xtjatswc/mycore2 v3 73ce3cd97c01 About an hour ago .74G ...
- 什么是BI
最近在人人网上看到一篇非常好的文章,转载分享给大家. 原文链接:http://blog.renren.com/share/252753054/5619469778/3其文谈对BI的理解,杜绝“假”“大 ...