[容易] UVa OJ 10048 噪音恐惧症 Floyd

题目描述

课本365

基本思路:

本题就是一个变形的Floyd算法,本身Floyd是求两点之间最短路的,这里只不过是让你求两点之间路径上最大权值最小的,只需要将Floyd稍加修改即可。

具体代码:

#include 
#include 

using namespace std;

int S,C,Q;
const int maxn=100+5;
int G[maxn][maxn];
int main()
{
    //freopen("input.txt","r",stdin);
    int kase=0;
    bool first=true;
    for(cin>>S>>C>>Q;S!=0;cin>>S>>C>>Q)
    {
        if(first)
            first=false;
        else cout<>a>>b>>c;
            G[a][b]=c;
            G[b][a]=c;
        }
        for(int k=1;k<=S;++k)
            for(int i=1;i<=S;++i)
                for(int j=1;j<=S;++j)
                {
                    G[i][j]=min(G[i][j],max(G[i][k],G[k][j]));
                }
        for(int i=0;i>a>>b;
            if(G[a][b]


你可能感兴趣的:(ACM,floyd,图的最短路)