Pagini recente » Cod sursa (job #2964805) | Cod sursa (job #2186557) | Cod sursa (job #941298) | Cod sursa (job #2283641) | Cod sursa (job #1189477)
#include <cstdio>
using namespace std;
int n, v[100001], d[100001], i, j, x, y;
void search(int x, int k){
if(!v[x]){
printf("%d ", k);
return;
}
y = v[x];
for(j = 1; j <= y; ++j)
x = d[x];
search(x, k + 1);
}
void solve(){
scanf("%d ", &n);
for(i = 1; i <= n; ++i)
scanf("%d ", &v[i]);
for(i = 1; i < n; ++i)
scanf("%d %d ", &x, &y),
d[y] = x;
for(i = 1; i <= n; ++i)
search(i, 0);
}
int main(){
freopen("cerere.in", "r", stdin);
freopen("cerere.out", "w", stdout);
solve();
return 0;
}