#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct st
{
ll u,v,w;
} b[1000001];
bool cmp(st a,st b)
{
return a.w<b.w;
}
ll a[1010001];
ll Find(ll x)
{
if(a[x]==x)
return x;
else return a[x]=Find(a[x]);
}
int main()
{
ll n,m,k;
cin>>n>>m>>k;
for(ll i=1; i<=n; i++)
a[i]=i;
for(ll i=1; i<=m; i++)
{
cin>>b[i].u>>b[i].v>>b[i].w;
}
sort(b+1,b+1+m,cmp);
ll ans=0;
ll index=0;
for(ll i=1; i<=m; i++)
{
ll u=b[i].u;
ll v=b[i].v;
ll w=b[i].w;
ll fu=Find(u);
ll fv=Find(v);
if(fu==fv)
continue;
a[fv]=a[fu];
ans+=w;
index++;
if(index==n-k)
break;
}
cout<<ans<<endl;
return 0;
}
程序设计:建立联系
猜你喜欢
转载自blog.csdn.net/chen_zan_yu_/article/details/105282218
今日推荐
周排行