1 条题解

  • 1
    @ 2023-9-10 13:49:52
    #include<bits/stdc++.h>
    using namespace std;
    int n,m,tot,ans;
    int a,b,c;
    struct node
    {
        int x,y,v;
    }f[10009];
    int fa[2009];
    int cmp(node a,node b)
    {
        return a.v<b.v;
    }
    int find(int x)
    {
        return (x==fa[x])?x:fa[x]=find(fa[x]);
    }
    void get(int x,int y,int val)
    {
        f[++tot].x=x;
        f[tot].y=y;
        f[tot].v=val;
    }
    void add()
    {
        for(int i=1; i<=m; i++)
    	{
            a=f[i].x;
            b=f[i].y;
            int u=find(a);
            int v=find(b);
            if(u!=v)
    		{
                fa[v]=u;
                ans=max(ans,f[i].v);
            }
        }
        cout<<ans<<endl;
    }
    int main()
    {
        cin>>n>>m;
        for(int i=1; i<=m; i++)
    	{
            cin>>a>>b>>c;
            get(a,b,c);
        }
        sort(f+1,f+m+1,cmp);
        for(int i=1; i<=n; i++)fa[i]=i;
        add();
        return 0;
    }
    
    • 1

    信息

    ID
    1682
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    9
    已通过
    6
    上传者