[SCOI2005]繁忙的都市

emm。。。就是个最小生成树板子。。。我还能说啥。。。

为啥我早出生个十多年。。。/(ㄒoㄒ)/~~

五六年也好啊。。。/(ㄒoㄒ)/~~

呆码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int fa[330],n,m,ans;

struct asd{
    int x,y,z;
} a[50050];

inline bool cmp(asd x,asd y)
{
    return x.z<y.z;
}

inline int find(int x)
{
    if(fa[x]!=x) fa[x]=find(fa[x]);
    return fa[x];
}

inline void unionn(int x,int y)
{
    fa[y]=x;
}

int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++) fa[i]=i;
    for(int i=1;i<=m;i++)
        scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
    sort(a+1,a+1+m,cmp);
    for(int i=1;i<=m;i++)
    {
        int x=find(a[i].x);
        int y=find(a[i].y);
        if(x!=y)
        {
            unionn(x,y);
            ans=max(ans,a[i].z);
        }
    }
    printf("%d %d
",n-1,ans);
}
代码
原文地址:https://www.cnblogs.com/zzzyc/p/9228843.html