Cod sursa(job #3259377)

Utilizator mariusharabariMarius Harabari mariusharabari Data 26 noiembrie 2024 00:56:32
Problema Cerere Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("cerere.in");
ofstream fout("cerere.out");

bitset <100001> viz;
vector <int> a, k, r;
int n, i, x, y;

int dfs(int v, int d){
    if(d==0) return 1+r[v];
    else{
        return dfs(a[v], d-1);
    }
}

int main(){
    fin>>n;
    k.assign(n+1, 0);
    a.assign(n+1, 0);
    r.assign(n+1, 0);
    for(i=1;i<=n;i++){
        fin>>k[i];
        r[i]=-1;
    }
    for(i=1;i<n;i++){
        fin>>x>>y;
        a[y]=x;
    }
    for(i=1;i<=n;i++){
        r[i]=dfs(i, k[i]);
        fout<<r[i]<<' ';
    }

    return 0;
}