zoukankan      html  css  js  c++  java
  • 【luogu P2298 Mzc和男家丁的游戏】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2298

    对于迷宫问题,bfs是比较好的选择。

    直接bfs模板

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    char a[2001][2001];
    int fx[4] = {1,0,-1,0};
    int fy[4] = {0,1,0,-1};
    int n,m,sx,sy,ex,ey;
    struct point{
        int x,y,t;
    }q[4000001];
    void dfs()
    {
        int head = 1,tail = 2;
        q[head].x = sx, q[head].y = sy, q[head].t = 0;
        while(head != tail)
        {
            for(int i = 0; i < 4; i++)
            {
                int nowx = q[head].x+fx[i];
                int nowy = q[head].y+fy[i];
                if(nowx == ex && nowy == ey)
                {
                    printf("%d",q[head].t+1);
                    return ;
                }
                if(nowx > n || nowx <= 0 || nowy > m || nowy <= 0 || a[nowx][nowy] == '#') continue;
                a[nowx][nowy] = '#';
                q[tail].x = nowx;
                q[tail].y = nowy;
                q[tail].t = q[head].t+1;
                tail++;
            }
            head++;
        }
        printf("No Way!");
    }
    int main()
    {
        cin>>n>>m;
        for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
        {
            cin>>a[i][j];
            if(a[i][j]=='d')
            {
                ex = i;
                ey = j;
            }
            if(a[i][j]=='m')
            {
                sx = i;
                sy = j;
            }
        }
        dfs();
        return 0;
    } 

    隐约雷鸣,阴霾天空,但盼风雨来,能留你在此。

    隐约雷鸣,阴霾天空,即使天无雨,我亦留此地。

  • 相关阅读:
    AJAX
    正则表达式
    SQL
    foreach 的本质
    C#
    Dojo的subscribe和publish的简单使用
    Dojo的Gridx使用jsonrest需要注意的地方
    如何让Button使用自定义icon
    Djanog结合jquery实现ajax
    如何设置静态文件路径
  • 原文地址:https://www.cnblogs.com/MisakaAzusa/p/8551931.html
Copyright © 2011-2022 走看看