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 贫富差距——并查集的主要内容,如果未能解决你的问题,请参考以下文章