Cod sursa(job #2940954)

Utilizator cattyAninisCatrinel catty Data 16 noiembrie 2022 20:04:46
Problema Cerere Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("cerere.in");
ofstream out("cerere.out");
int n,i,x,y,v[100001],nr;
vector <int> q[100001];
int main()
{
    in>>n;
    for(i=1; i<=n; ++i)
        in>>v[i];
    for(i=1; i<n; ++i)
    {
        in>>x>>y;
        q[y].push_back(x);
        for(int j=0; j<q[x].size(); ++j)
            q[y].push_back(q[x][j]);
    }
    for(i=1; i<=n; ++i)
    {
        x=i,nr=0;
        while(v[x])
        {
            ++nr;
            x=q[x][v[x]-1];
        }
        out<<nr<<" ";
    }
}