点我看题目

题意 : 中文题不详述。

思路 :因为还牵扯到层的问题,所以用三维的解决,不过这个还是很简单的BFS,六个方向搜一下就可以了,一开始交的时候老是超时,怎么改都不对,后来看了一个人写的博客,他说用C++交300ms,G++交600ms,我就改成C++交了,果然AC了,不过。。。。用了900ms。。。。。我也懒得改了,也不知道为什么G++交超时

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <queue> using namespace std ; int mapp[][][] ;
bool vis[][][] ;
int dir[][] = {{,,},{-,,},{,,},{,-,},{,,},{,,-}} ;
int A, B, C,T ;
int sum ;
struct node
{
int x ;
int y ;
int z ;
int timee ;
} temp,temp1 ; void BFS()
{
queue<node>que ;
memset(vis,false,sizeof(vis)) ;
vis[][][] = true ;
temp.x = ,temp.y = ,temp.z = ;
temp.timee = ;
que.push(temp) ;
while(!que.empty())
{
node temp1 = que.front() ;
que.pop() ;
if(temp1.x == A- && temp1.y == B- && temp1.z == C-)
{
sum = temp1.timee;
return ;
}
for(int i = ; i < ; i++)
{
int xx = temp1.x+dir[i][] ;
int yy = temp1.y+dir[i][] ;
int zz = temp1.z+dir[i][] ;
if(!vis[xx][yy][zz] && mapp[xx][yy][zz] == && xx >= && xx < A && yy >= && yy < B && zz >= && zz < C)
{
temp.x = xx ;
temp.y = yy ;
temp.z = zz ;
temp.timee=temp1.timee+;
vis[xx][yy][zz] = true ;
que.push(temp) ;
}
}
}
}
int main()
{
int K ;
scanf("%d",&K) ;
while(K--)
{
sum = ;
memset(mapp,,sizeof(mapp)) ;
scanf("%d %d %d %d",&A,&B,&C,&T );
for(int i = ; i < A ; i++)
for(int j = ; j < B ; j++)
for(int k = ; k < C ; k++)
scanf("%d",&mapp[i][j][k]) ;
BFS();
if(sum > T)
printf("-1\n") ;
else printf("%d\n",sum) ;
}
return ;
}

HDU 1253 胜利大逃亡(三维BFS)的更多相关文章

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

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

  2. hdu 1253 胜利大逃亡(BFS)

    题目链接:点击链接 三维的BFS,刚开始一直超内存,超无语......  改了n多次终于AC了 #include <iostream> #include <stdio.h> # ...

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

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

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

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

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

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

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

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

  7. HDU 1253 胜利大逃亡 题解

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

  8. hdu.1429.胜利大逃亡(续)(bfs + 0101011110)

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

  9. hdu 1429 胜利大逃亡(续)(bfs+位压缩)

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

随机推荐

  1. 移动端web学习总结

    前言: 一直想做一个移动端的阶段性学习总结,但是工作太忙总是加班.现在总算可以抽出一点时间来写一写,把知道的都写下来,这样就算忘掉了,也能很快想起来,不要太机智啊,哈哈哈! 一.移动端页面常识 1.常 ...

  2. gwt-问题解决

    最近在看gwt,写了个demo,但是总是出问题,困扰了好几天,后台也没报错,但就是加载不出来 第一次编译以后是可以的,但是改了代码后就不行了,后台也没报错,google了好长时间也没出来. 于是换了个 ...

  3. springmvc错误 Spring3.X jdk8 java.lang.IllegalArgumentException

    最近在学习springmvc--碰到一个特别蛋疼的错误 javax.servlet.ServletException: Servlet.init() for servlet springMVC thr ...

  4. SQL SERVER 锁定的实例

    ---实例DB:AdventureWorks2014 --- 创建view DBLocks USE [AdventureWorks2014] GO /****** Object: View [dbo] ...

  5. TCP/IP 学习博客

    原作者地址:http://blog.csdn.net/goodboy1881/article/category/204448

  6. C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55

    //C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55 using System; using System.Collections.Generic; using S ...

  7. gradle使用国内源

    // 设置 maven 库地址 repositories {     maven { url 'http://maven.oschina.net/content/groups/public/' } } ...

  8. JavaScript中事件绑定的方法总结

    最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScr ...

  9. Git的安装以及注册账号等操作

    1.安装Git-2.5.1-64-bit.exe  一直下一步直至完成 2.注册github账号 官网地址:https://github.com/github 3.找到一个按钮“New Reposit ...

  10. C语言中的%0nd,%nd,%-nd

    C语言中的%0nd printf --> formatted print/格式化输出 一.十进制 d -> decimal/十(shí)进制 int a=1; int b=1234; do ...