#include <bits/stdc++.h>
using namespace std ;
 	const int N=5003,M=2e5+2;
 int f[N],n,m;
 struct E{
 	int x,y,z;
 }e[M];
 int find(int x){
 	return x==f[x]?x:f[x]=find(f[x]);
 }
 int cmp(E x,E y){
 	 return x.z<y.z;
 }
 void krus(){
 	 sort(e+1,e+1+m,cmp);
 	 int i,x,y,fx,fy,z,c=0,s=0;
 	 for(i=1;i<=n;i++) f[i]=i;
 	 
 	 for(i=1;i<=m;i++){
 	 	x=e[i].x,y=e[i].y,fx=find(x),fy=find(y);
 	 	if(fx!=fy){
 	 	   f[fx]=fy;
 	 	   c++,s+=e[i].z;
 	 	   
 	 	   if(c==n-1) break;
 	 	}
 	 }
 	 cout<<s<<endl;
 } 
 signed main(){
 	int i,x,y,z;
 	 cin>>n>>m; 
	  for(i=1;i<=m;i++) cin>>e[i].x>>e[i].y>>e[i].z;
	krus();
 }

 
 

 

posted on 2023-03-10 13:21  towboat  阅读(14)  评论(0)    收藏  举报