• POJ1861 kruskal.


    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stack>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    const double pi = acos(-1.0);
    #define Len 200005
    #define mod 19999997
    const int INF = 0x3f3f3f3f;
    #define exp 1e-6
    
    #define N 16010
    struct asd{
        int s,t;
        int w;
    };
    asd ss[N];
    asd q[N];
    int n;
    int pre[1010];
    
    bool cmp(asd a,asd b)
    {
        return a.w<b.w;
    }
    
    int Find(int x)
    {
        int r=x;
        while(pre[r]!=r)
        {
            r=pre[r];
        }
        int i=x,j;
        while(pre[i]!=r)
        {
            j=pre[i];
            pre[i]=r;
            i=j;
        }
        return r;
    }
    void Init()
    {
        for(int i=1;i<=n;i++)
            pre[i]=i;
    }
    
    int main()
    {
        int m;
        int a,b,c;
        cin>>n>>m;
    
        Init();
        for(int i=0;i<m;i++)
        {
            scanf("%d%d%d",&a,&b,&c);
            q[i].s=a;
            q[i].t=b;
            q[i].w=c;
        }
        sort(q,q+m,cmp);
    
        int ans,sum;
        ans=-1;
        sum=0;
        for(int i=0;i<m;i++)
        {
            int aa=Find(q[i].s);
            int bb=Find(q[i].t);
            if(aa!=bb)
            {
                ans=max(ans,q[i].w);
                ss[sum].s=q[i].s;ss[sum].t=q[i].t;  
                sum++;
                pre[aa]=bb;
            } 
        }
        printf("%d
    ",ans);
        printf("%d
    ",sum);
        for(int i=0;i<sum;i++)
        {
            printf("%d %d
    ",ss[i].s,ss[i].t);
        }
        return 0;   
    }
  • 相关阅读:
    往鼠标位置写入 诗词
    shell条件判断
    shell 案例一
    Shell中的变量
    echo e 命令详解
    Docker 安装RedisJSON 与使用
    Python 插入数据库的各种方式
    Python压缩文件/文件夹
    shell运算符
    关于CAN总线简单总结
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934490.html
Copyright © 2020-2023  润新知