ITREE - Nhãn của cây

Tác giả: flashmt

Ngôn ngữ: C++

#include<iostream>
#define fr(a,b,c) for (a=b;a<=c;a++)
#define frr(a,b,c) for (a=b;a>=c;a--)
using namespace std;

int main()
{
    int test,i,n,a[1111],b[1111],f[1111],d[1111];
    cin >> test;
    while (test--)
    {
          cin >> n;
          fr(i,1,n) 
          {
             d[i]=1; f[i]=0;
          }
          fr(i,2,n) 
          {
             scanf("%d%d",&a[i],&b[i]);
             d[a[i]]=0;
          }              
          frr(i,n,2)
             if (d[i] || b[i]<f[i]) f[a[i]]+=b[i];
             else f[a[i]]+=f[i];
          cout << f[1] << ".00" << endl;
    }
    return 0;
}

Download