#include <bits/stdc++.h>
using namespace std;
long long mst=0;
struct Node{
int v;
int w;
};
const int INF=0x1F;
int dist[100005];
bool vis[100005];
int n,m;
vector<Node> arr[100005];
int main(){
scanf("%d%d",&n,&m);
int x;
for(int i=1;i<=m;i++){
scanf("%d",&x);
Node node;
scanf("%d%d",&node.v,&node.w);
arr[x].push_back(node);
swap(x,node.v);
arr[x].push_back(node);
}
memset(dist,INF,sizeof(dist));
dist[1]=0;
int min_u,v;
for(int i=1;i<=n;i++){
min_u=0;
for(int u=1;u<=n;u++){
if(!vis[u] && (!min_u || dist[min_u]>dist[u])){
min_u=u;
}
}
vis[min_u]=true;
mst+=dist[min_u];
for(int j=0;j<arr[min_u].size();j++){
v=arr[min_u][j].v;
if(!vis[v]){
dist[v]=min(dist[v],arr[min_u][j].w);
}
}
}
printf("%lld",mst);
return 0;
}
这没考虑联通,也能AC?!