zoukankan      html  css  js  c++  java
  • UVA10048 噪音恐惧症 Audiophobia

    算法

    floyed(改版)

    思路

    关于路径,可用最短路;保存路径信息,可用floyed;

    核心

     g[i][j]=min(g[i][j],max(g[i][k],g[k][j]));
    

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,Q;
    int g[110][110];
    int T;
    inline int read()
    {
        int tot=0;
        char c=getchar();
        while(c<'0'||c>'9')
            c=getchar();
        while(c>='0'&&c<='9')
        {
            tot=tot*10+c-'0';
            c=getchar();
        }
        return tot;
    }
    int main()
    {
        n=read();m=read();Q=read();
        while(1)
        {
            T++;
            memset(g,0x3f,sizeof(g));
            for(int i=1;i<=m;i++)
            {
                int x=read(),y=read(),z=read();
                g[x][y]=z;
                g[y][x]=z;
            }
            for(int k=1;k<=n;k++)
            {
                for(int i=1;i<=n;i++)
                {
                    for(int j=1;j<=n;j++)
                    {
                        g[i][j]=min(g[i][j],max(g[i][k],g[k][j]));
                    }
                }
            }
            cout<<"Case #"<<T<<endl;
            while(Q--)
            {
                int x=read(),y=read();
                if(g[x][y]==0x3f3f3f3f)cout<<"no path
    ";
                else cout<<g[x][y]<<endl;
            }
            n=read();m=read();Q=read();
            if(n||m||Q)cout<<endl;
            else break;
        }
        return 0;
    }
    

      

  • 相关阅读:
    构建之法阅读笔记02
    四则运算2
    第一周学习进度条
    简单四则运算
    构建之法阅读笔记01
    简读《构建之法》,所想问题展示
    介绍
    典型用户和用户场景描述
    工作总结03
    工作总结02
  • 原文地址:https://www.cnblogs.com/ruanmowen/p/12719889.html
Copyright © 2011-2022 走看看