标签:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAX (int)1e5
using namespace std;
struct line
{
int u;
int v;
int w;
};
int n,m;
int pre[MAX+7];
struct line l[MAX+7];
void init()
{
for(int i=1;i<=n;i++)
pre[i]=i;
}
int find(int x)
{
int r=x;
while(r!=pre[r])
r=pre[r];
return r;
}
int cmp(line a,line b)
{
return a.w<b.w;
}
int kruskal()
{
int ans=0;
init();
sort(l+1,l+m+1,cmp);
for(int i=1;i<=m;i++)
{
int fx=find(l[i].u);
int fy=find(l[i].v);
if(fx!=fy)
{
pre[fx]=fy;
ans+=l[i].w;
}
}
return ans;
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=1;i<=m;i++)
scanf("%d%d%d",&l[i].u,&l[i].v,&l[i].w);
printf("%d\n",kruskal());
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/burning-flame/p/4954175.html