最小生成树 hdu 1233 模板题

Posted 啦啦啦天啦噜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小生成树 hdu 1233 模板题相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e4+7;
int n,m,cot,sum;
struct edge
{
    int u,v,w;
    bool operator <(const edge &b)const{
        return w<b.w;
    }
}g[maxn];
int f[maxn];
int Find(int x)
{
    return f[x]==x?x:f[x]=Find(f[x]);
}

void kruskal()
{
    cot=0;
    sort(g,g+m);
    for(int i=0; i<m; i++){
        int t1=Find(g[i].u);
        int t2=Find(g[i].v);
        if(t1!=t2){
            f[t2]=t1;
            cot++;
            sum=sum+g[i].w;
        }
        if(cot==n-1) break;
    }
    return ;
}
int main()
{
    while(~scanf("%d",&n)&&n){
        m=n*(n-1)/2;
        sum=0;
        for(int i=0;i<=n;i++)f[i]=i;
        for(int i=0;i<m;i++){
             scanf("%d%d%d",&g[i].u,&g[i].v,&g[i].w);
        }
        kruskal();
        printf("%d\n",sum);
    }
    return 0;
}
/*
3
1 2 1
1 3 2
2 3 4
4
1 2 1
1 3 4
1 4 1
2 3 3
2 4 2
3 4 5
0
*/

 

以上是关于最小生成树 hdu 1233 模板题的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1233 还是畅通工程

hdu1233+最小生成树

HDU 1233 还是畅通工程(最小生成树, Prim+优先队列 || Kruskal+并查集)

hdu1233 还是畅通工程 最小生成树

hdu 1233(最小生成树 prim算法)

hdu1233 继续畅通工程 (最小生成树——并查集)