#include "stdio.h" //最短路 dijkstra模板 //hdu 1233 #include "string.h" #define MAX 0x3fffffff int map[105][105]; int main() { int n,m; int x,y,k; int mark[105],dis[105]; int i,j,min,sum; while(scanf("%d",&n),n) { memset(map,0,sizeof(map)); m=n*(n-1)/2; for(i=0;i<m;i++) { scanf("%d %d %d",&x,&y,&k); map[x-1][y-1]=map[y-1][x-1]=k; } for(i=0;i<n;i++) map[i][i]=MAX; //建图完成 memset(mark,0,sizeof(mark)); mark[0]=1; for(j=0;j<n;j++) dis[j]=map[0][j]; sum=0; for(i=0;i<n;i++) { min=MAX; k=-1; for(j=0;j<n;j++) { if(mark[j]==0 && dis[j]<min) { min=dis[j]; k=j; } } if(k!=-1) sum+=dis[k]; mark[k]=1; for(j=0;j<n;j++) { if(mark[j]==0 && dis[j]>map[k][j]) dis[j]=map[k][j]; } } printf("%d ",sum); } return 0; }