局域网(net)

徐梓畅  •  2年前


include<bits/stdc++.h>

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;

}


评论: