贪心
#include<cstdio>
#include<algorithm>
using namespace std;
struct hh{
int a, b;
long long c;
}tree[111111];
int n, m, fa[111111];
long long ans=0;
int cmp(hh x, hh y)
{
return x.c<y.c;
}
int find(int x)
{
if(x!=fa[x]) return fa[x]=find(fa[x]);
else return x;
}
int main()
{
scanf("%d %d", &n, &m);
for(int i=1;i<=n;i++)
fa[i]=i;
for(int i=1;i<=m;i++)
scanf("%d %d %lld", &tree[i].a, &tree[i].b, &tree[i].c);
sort(tree+1,tree+m+1,cmp);
for(int i=1;i<=m;i++)
{
int x=tree[i].a, y=tree[i].b, z=tree[i].c;
int xf=find(x), yf=find(y);
if(xf!=yf)
{
fa[yf]=xf;
ans+=z;
}
}
printf("%lld\n", ans);
return 0;
}