#include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int t,n,e,a,b,k,i,j,temp,sum,len,min; int map[500][500],arr[500],node[500]; for(scanf("%d",&t);t>0;t--) { memset(arr,0,500*sizeof(int)); for(i=0;i<n;i++) memset(map,-1,n*sizeof(int)); for(scanf("%d%d",&n,&e),i=0;i<e;i++) { scanf("%d%d%d",&a,&b,&k); map[a][b]=k; map[b][a]=k; if(i==0) { arr[a]=-1;node[0]=a; } } for(temp=0,min=1000,sum=0,i=0,len=1;i<len&&len!=n;i++) { for(j=0;j<n;j++) { if(map[node[i]][j]>=0&&arr[j]!=-1&&min>map[node[i]][j]) { min=map[node[i]][j];temp=j; } } if(i==len-1) { sum+=min; arr[temp]=-1; node[len]=temp; len++;i=-1; min=1000; } } printf("%d\n",sum); } return 0; } /************************************************************** Problem: 2131 User: admin Language: C Result: Wrong Answer ****************************************************************/