Cod sursa(job #1262666)

Utilizator FiliutaMariusFMI Filiuta Marius FiliutaMarius Data 13 noiembrie 2014 13:52:40
Problema Cerere Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.64 kb
#include<fstream>
#include<vector>
using namespace std;
struct arbore
{
    int val,tata;
};
int main ()
{
    ifstream in("cerere.in");
    ofstream out("cerere.out");
    int n,A,B;
    arbore v[100000];
    in>>n;
    for(int i=0;i<n;i++)
        in>>v[i].val;
    for(int i=1;i<n;i++)
    {
        in>>A>>B;
        v[B-1].tata=A-1;
    }
    for(int i=0;i<n;i++)
    {
        int a=i,c=0,k=v[i].val;
        while(a && k)
        {
            a=v[a].tata;
            k--;
            if(k==0)
            {
                c++;
                k=v[a].val;
            }
        }
        out<<c<<' ';
    }
}