题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1253

题目大意:在所给的时间能顺利离开城堡。

 #include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
using namespace std;
int map[][][],visit[][][],a,b,c,T;
int dir[][]= {,,,,,-,,,,,-,,,,,-,,};
struct next
{
int x;
int y;
int z;
int t;
} s,ss;
queue<next>q,qq;
int bfs()
{
s.x=;
s.y=;
s.z=;
s.t=;
map[][][]=;
q.push(s);
while (!q.empty())
{
s=q.front();
q.pop();
for (int i=; i<; i++)
{
int t=s.t+;
int x=s.x+dir[i][],y=s.y+dir[i][],z=s.z+dir[i][];
if (x>=&&x<a&&y>=&&y<b&&z>=&&z<c&&t<=T&&map[x][y][z]==&&!visit[x][y][z])
{
if(x==a-&&y==b-&&z==c-)
{
return t;
}
ss.x=x;
ss.y=y;
ss.z=z;
ss.t=t;
visit[x][y][z]=;
q.push(ss); }
}
}
return -;
}
int main ()
{
int o,i,j,k;
scanf ("%d",&o);
while (o--)
{
memset(visit,,sizeof(visit));
q=qq;
scanf ("%d%d%d%d",&a,&b,&c,&T);
for (i=; i<a; i++)
for (j=; j<b; j++)
for (k=; k<c; k++)
scanf ("%d",&map[i][j][k]);
int t=bfs();
if (t>=)
printf ("%d\n",t);
else
printf ("-1\n");
}
return ;
}

hdu 1253 胜利大逃亡(简单题)的更多相关文章

  1. hdu 1253 胜利大逃亡 (三维简单bfs+剪枝)

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. hdu 1253:胜利大逃亡(基础广搜BFS)

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. hdu 1253 胜利大逃亡 (代码详解)解题报告

    胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示 ...

  4. HDU 1253 胜利大逃亡 NYOJ 523【BFS】

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  5. HDU 1253 胜利大逃亡 题解

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  6. [ACM] hdu 1253 胜利大逃亡 (三维BFS)

    胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这但是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,能够被表示 ...

  7. hdu 1253 胜利大逃亡(广搜,队列,三维,简单)

    题目 原来光搜是用队列的,深搜才用栈,我好白痴啊,居然搞错了 三维的基础的广搜题 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #in ...

  8. HDU 1253 胜利大逃亡

    Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C ...

  9. hdu - 1240 Nightmare && hdu - 1253 胜利大逃亡(bfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1240 开始没仔细看题,看懂了发现就是一个裸的bfs,注意坐标是三维的,然后每次可以扩展出6个方向. 第一维代表在 ...

随机推荐

  1. 调度的log 1.5ms 12ms 4ms

    36   37   38            loopM 24369 [001] 60789.192708: sched:sched_switch: prev_comm=loopM prev_pid ...

  2. [OS] 线程相关知识点

    操作系统中引入进程的目的,是为了描述和实现多个程序的并发执行,以改善资源利用率以及提高系统吞吐量.那为什么还需要引入线程呢?下面我们先来回顾一下什么是进程: 进程有两个基本属性:·资源的拥有者:给每个 ...

  3. BZOJ 1004 Cards(Burnside引理+DP)

    因为有着色数的限制,故使用Burnside引理. 添加一个元置换(1,2,,,n)形成m+1种置换,对于每个置换求出循环节的个数, 每个循环节的长度. 则ans=sigma(f(i))/(m+1) % ...

  4. hdu 3549 Flow Problem (网络最大流)

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  5. FreeBSD查看网络情况

    FreeBSD查看网络情况 记录一下FreeBSD下常用的统计当前系统网络连接状态的一些命令: 1)统计80端口连接数 netstat -nat|grep -i "80"|wc - ...

  6. [BZOJ4589]Hard Nim

    description BZOJ 题意:\(n\)堆式子,每堆石子数量为\(\le m\)的质数,对于每一个局面玩\(Nim\)游戏,求后手必胜的方案数. data range \[n\le 10^9 ...

  7. 【CSU1911】Card Game(FWT)

    [CSU1911]Card Game(FWT) 题面 vjudge 题目大意: 给定两个含有\(n\)个数的数组 每次询问一个数\(x\),回答在每个数组中各选一个数,或起来之后的结果恰好为\(x\) ...

  8. C++中数组和vector

    本文基于邓俊辉编著<数据结构(C++语言版)(第3版)>.<C++ Primer(第5版)>以及网上的相关博文而写,博主水平有限,若有不妥处,欢迎指出. 一.数组 C++中数组 ...

  9. MyBatis之二级缓存

    二级缓存与一级缓存区别:二级缓存的范围更大,多个sqlSession可以共享一个UserMapper的二级缓存区域. 每一个mapper都有一个自己的二缓存区域(按namespace区分),两个map ...

  10. React属性用法总结

    1. 键值对 <ClaaNameA name = “Tom” /> <ClaaNameA name = {Tom} /> <ClaaNameA name = {“Tom” ...