Let's Go Green UVALive - 6039

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章