• 杭电1253--胜利的大逃亡(Bfs)


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

    题意: 迷宫问题,  三维数组, 数据范围较大, Bfs较优。  PS-----> 堕落了几天, 是时候奋斗了,fighting!! 

    //ac码:1669ms;
    #include <queue>
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    int map[55][55][55]; int ac[6][3] = {0, 0, 1, 0, 0, -1, 0, 1, 0, 0, -1, 0, 1, 0, 0, -1, 0, 0};
    struct Maze
    {
        int x, y, z, step;
    }r, s, t;
    int a, b, c, T;
    int Bfs(int x, int y, int z)
    {
        queue<Maze> Q;
        r.x = x; r.y = y; r.z = z; r.step = 0;
        Q.push(r);
        map[x][y][z] = 1;
        while(!Q.empty())
        {
            s = Q.front(); Q.pop();
            for(int i = 0; i < 6; i++)
            { 
                t.x = s.x + ac[i][0]; 
                t.y = s.y + ac[i][1];
                t.z = s.z + ac[i][2];
                t.step = s.step + 1;
                if(t.x >= 0 && t.x < a && t.y >= 0 && t.y < b && t.z >= 0 && t.z < c && map[t.x][t.y][t.z] == 0)
                {
                    if(t.x == a - 1 && t.y == b - 1 && t.z == c - 1 && t.step <= T)            
                        return t.step;
                    else
                    {
                        map[t.x][t.y][t.z] = 1;
                        Q.push(t);
                    }
                } 
            }
        } 
        return -1;
    } 
    int main()
    {
        int k;
        scanf("%d", &k);
        while(k--)
        {
            scanf("%d %d %d %d", &a, &b, &c, &T);
            for(int i = 0; i < a; i++)
                for(int j = 0; j < b; j++)
                    for(int k = 0; k < c; k++)
                        //cin >> map[i][j][k];
                        scanf("%d", &map[i][j][k]);
            int ans = Bfs(0, 0, 0); 
            printf("%d
    ", ans);
        }
        return 0;
    }
  • 相关阅读:
    Python_base_局部变量和全局变量
    Python_base_id()函数
    登录的测试点
    Http协议
    python_base_while循环、for循环
    <10>Golang基础进阶——函数
    <7>Golang基础进阶——流程控制
    Could not connect to SFTP server at "sftp://x.x.x.x:22/"
    <5>Golang基础进阶——类型别名
    <4>Golang基础进阶——字符串应用
  • 原文地址:https://www.cnblogs.com/soTired/p/4775436.html
Copyright © 2020-2023  润新知