#include <iostream> using namespace std; const int maxn = 1000; int f[maxn]={0}; int n,e; int a[maxn][maxn]={0}; void prim(int v0) { int cost[maxn]; for (int i=0;i<n;i++) cost[i]=1000000; for (int i=1;i<n;i++) if (a[v0][i]) cost[i]=a[v0][i]; f[v0]=1; int pos; int ans=0; for (int k=1;k<n;k++) { int mini=1000000; for (int i=0;i<n;i++) { if (cost[i]<mini && !f[i]) { mini=cost[i]; pos=i; } } f[pos]=1;ans += cost[pos]; for (int i=0;i<n;i++) { if (!f[i] && a[pos][i] && a[pos][i]<cost[i]) { cost[i] = a[pos][i]; } } } } int main () { cin >> n >> e; for (int i=0;i<e;i++) { int p,q; cin >> p >> q; cin >> a[p][q]; a[q][p]=a[p][q]; } prim(1); }