代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,sum=0,fa[200010],k=0,f1=0;
struct node{
int x,y,z;
}a[5010];
bool cmp(node x,node y){
return x.z<y.z;
}
int f(int x){
if(fa[x]==x) return x;
else return fa[x]=f(fa[x]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
fa[i]=i;
}
for(int i=1;i<=m;i++){
cin>>a[i].x>>a[i].y>>a[i].z;
}
sort(a+1,a+m+1,cmp);
for(int i=1;i<=m;i++){
int f_x=f(a[i].x);
int f_y=f(a[i].y);
if(f_x!=f_y){
fa[f_x]=f_y;
sum+=a[i].z;
k++;
if(k==n-1){
f1=1;
break;
}
}
}
if(f1==1) cout<<sum<<endl;
else cout<<"orz"<<endl;
return 0;
}