zoukankan      html  css  js  c++  java
  • Find a way 广搜题 两个人见面 找到最近的地方

    #include<algorithm>
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<queue>
    #include<math.h>
    using namespace std;
    #define N 300
    int a[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
    int n,m,w[N][N],ww[N][N],www[N][N];
    char str[N][N];
    struct node
    {
        int x,y,s;
    };
    void q(int x,int y)
    {
        memset(w,0,sizeof(w));
        queue<node> Q;
        node q,p;
        q.x=x;
        q.y=y;
        q.s=0;
        Q.push(q);
        w[q.x][q.y]=1;
        while(Q.size())
        {
            p=Q.front();Q.pop();
            for(int i=0;i<4;i++)
            {
                q.x=p.x+a[i][0];
                q.y=p.y+a[i][1];
                q.s=p.s+1;
                if(q.x>=0&&q.x<n&&q.y>=0&&q.y<m&&!w[q.x][q.y]&&str[q.x][q.y]!='#')
                {
                    w[q.x][q.y]=1;
                    Q.push(q);
                    ww[q.x][q.y]++;
                    www[q.x][q.y]+=q.s;
                }
            }
        }
    }
    int main()
    {
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            memset(ww,0,sizeof(ww));
            memset(www,0,sizeof(www));
            for(int i=0; i<n; i++)
                scanf("%s",str[i]);
            for(int i=0; i<n; i++)
            {
                for(int j=0; j<m; j++)
                {
                    if(str[i][j]=='Y')
                        q(i,j);
                    if(str[i][j]=='M')
                        q(i,j);
                }
            }
            int ans=1234567;
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    if(str[i][j]=='@'&&ww[i][j]==2)
                    {
                        ans=min(ans,www[i][j]);
                    }
                }
            }
            printf("%d
    ",ans*11);
        }
        return 0;
    }

    http://acm.hdu.edu.cn/showproblem.php?pid=2612

  • 相关阅读:
    [luoguP2770] 航空路线问题(最小费用最大流)
    javascript技巧大全套
    jLim
    自己封装的Ajax
    JavaScript函数调用规则
    JavaScript模板引擎使用
    JavaScript MD5
    JavaScript SHA-1
    JavaScript Map对象的实现
    javascript中的_return_false和return_true
  • 原文地址:https://www.cnblogs.com/a719525932/p/5667777.html
Copyright © 2011-2022 走看看