Let’s Go Green UVALive - 6039
题目链接:https://cn.vjudge.net/problem/UVALive-6039
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
vector<int> q[100010];
int main(){
int t;
scanf("%d",&t);
int tt=1;
while(t--){
for (int i=0;i<100010;i++){
q[i].clear();
}
int n;
scanf("%d",&n);
for (int i=1;i<n;i++){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
q[a].push_back(c);
q[b].push_back(c);
}
int sum=0;
for (int i=1;i<=n;i++){
sort(q[i].begin(),q[i].end());
int s=q[i][q[i].size()-1];
int ss=0;
for (int j=0;j<(int)(q[i].size()-1);j++){
ss+=q[i][j];
}
if (s>=ss){
sum+=(s-ss);
}
else{
if ((ss+s)%2!=0){
sum++;
}
}
}
printf("Case #%d: %d\n",tt++,sum/2);
}
return 0;
}