AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAX 0x3f3f3f3f
int main(){
int weight[100][100];
int lowcost[100];
int N, ans;
while( scanf( "%d", &N ) , N ){
memset( weight, 0, sizeof( weight ) );
for( int i = 1; i <= N*(N-1)/2; i++ ){
int temp1, temp2, temp3;
cin >> temp1 >> temp2 >> temp3;
weight[temp1][temp2] = temp3;
weight[temp2][temp1] = temp3;
}
for( int i = 2; i <= N; i++ ){
lowcost[i] = weight[1][i];
}
lowcost[1] = -1;
ans = 0;
for( int i = 2; i <= N; i++ ){
int mindis = MAX;
int k = 1;
for( int j = 2; j <= N; j++ ){
if( lowcost[j] < mindis && lowcost[j] != -1 ){
mindis = lowcost[j];
k = j;
}
}
ans += mindis;
lowcost[k] = -1;
for( int j = 1; j <= N; j++ ){
if( weight[k][j] < lowcost[j] ){
lowcost[j] = weight[k][j];
}
}
}
cout << ans << endl;
}
return 0;
}