• hdu 1253 胜利大逃亡(简单题)


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

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

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <queue>
     4 #include <cstring>
     5 using namespace std;
     6 int map[55][55][55],visit[55][55][55],a,b,c,T;
     7 int dir[6][3]= {0,0,1,0,0,-1,0,1,0,0,-1,0,1,0,0,-1,0,0};
     8 struct next
     9 {
    10     int x;
    11     int y;
    12     int z;
    13     int t;
    14 } s,ss;
    15 queue<next>q,qq;
    16 int bfs()
    17 {
    18     s.x=0;
    19     s.y=0;
    20     s.z=0;
    21     s.t=0;
    22     map[0][0][0]=1;
    23     q.push(s);
    24     while (!q.empty())
    25     {
    26         s=q.front();
    27         q.pop();
    28         for (int i=0; i<6; i++)
    29         {
    30             int t=s.t+1;
    31             int x=s.x+dir[i][0],y=s.y+dir[i][1],z=s.z+dir[i][2];
    32             if (x>=0&&x<a&&y>=0&&y<b&&z>=0&&z<c&&t<=T&&map[x][y][z]==0&&!visit[x][y][z])
    33             {
    34                 if(x==a-1&&y==b-1&&z==c-1)
    35                 {
    36                     return t;
    37                 }
    38                 ss.x=x;
    39                 ss.y=y;
    40                 ss.z=z;
    41                 ss.t=t;
    42                 visit[x][y][z]=1;
    43                 q.push(ss);
    44 
    45             }
    46         }
    47     }
    48     return -1;
    49 }
    50 int main ()
    51 {
    52     int o,i,j,k;
    53     scanf ("%d",&o);
    54     while (o--)
    55     {
    56         memset(visit,0,sizeof(visit));
    57         q=qq;
    58         scanf ("%d%d%d%d",&a,&b,&c,&T);
    59         for (i=0; i<a; i++)
    60             for (j=0; j<b; j++)
    61                 for (k=0; k<c; k++)
    62                     scanf ("%d",&map[i][j][k]);
    63         int t=bfs();
    64         if (t>=0)
    65             printf ("%d
    ",t);
    66         else
    67             printf ("-1
    ");
    68     }
    69     return 0;
    70 }

     

  • 相关阅读:
    JVM与Dalvik
    3G技术
    Android开发环境的搭建
    Android学习杂记
    JDK环境变量配置
    签名Android应用程序
    Android中Hardcoding String ……,should use @string/警告的处理
    命令行创建Android项目
    ElasticSearch为什么这么快
    多线程1--基础知识
  • 原文地址:https://www.cnblogs.com/qq-star/p/3833743.html
Copyright © 2020-2023  润新知