徐梓畅 • 2年前
using namespace std; const int N=1e6+10; struct net{
int f,t,c;
}a[N]; int b[110],n,m; int fi(int x){
if(x==b[x]) return x;
return b[x]=fi(b[x]);
} bool cmp(net a,net b){
return a.c<b.c;
} int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) b[i]=i;
int ans=0;
for(int i=1;i<=m;i++){
cin>>a[i].f>>a[i].t>>a[i].c;
ans+=a[i].c;
}
sort(a+1,a+1+m,cmp);
for(int i=1;i<=m;i++){
int f=fi(a[i].f),f1=fi(a[i].t);
if(f!=f1){
ans-=a[i].c;
b[f]=f1;
}
}
cout<<ans<<endl;
return 0;
}
评论: