51nod-1366 贫富差距——并查集

Posted fantastic123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod-1366 贫富差距——并查集相关的知识,希望对你有一定的参考价值。

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1366

#include <iostream>
#include <cstdio>
#include <set>
#define maxn 0x3f3f3f
using namespace std;
int f[55][55];
char m[55][55];

int main()
{
//    freopen("in.txt","r",stdin);
    int t;
    cin>>t;
    while(t--)
    {
        int n,d,ans=0;
        cin>>n>>d;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                if(i==j) f[i][j]=0;
                else f[i][j]=maxn;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
            {
                cin>>m[i][j];
                if(m[i][j]==Y) f[i][j]=d;
            }
        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                {
                    if(f[i][j]>f[i][k]+f[k][j])
                        f[i][j]=f[i][k]+f[k][j];
                }
        int flag=1;
        for(int i=1;i<=n;i++)
            for(int j=i+1;j<=n;j++)
            {
                if(f[i][j]==maxn)
                {
                    flag=0;
                    break;
                }
                else ans=max(f[i][j],ans);
            }
        if(flag) cout<<ans<<endl;
        else cout<<"-1"<<endl;
    }
}

 

以上是关于51nod-1366 贫富差距——并查集的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1366 贫富差距

1366 贫富差距

51nod 1515 明辨是非 [并查集+set]

1366 贫富差距

51nod 1307 绳子与重物(并查集水了一发)

51Nod 1515(并查集set离散化)