Pagini recente » Cod sursa (job #2596517) | Cod sursa (job #2395585) | Cod sursa (job #938728) | Cod sursa (job #1952018) | Cod sursa (job #1942197)
#include <iostream>
#include <fstream>
#define N 100005
using namespace std;
ifstream in("cerere.in");
ofstream out("cerere.out");
int n, v[N], tree[N];//r[N];
int ancestor(int x, int k){
for(int i=1; i<=k; i++)x=tree[x];
return x;
}
int main(){
in>>n;
int x, y;
for(int i=1; i<=n; i++)in>>v[i];
for(int i=1; i<=n; i++){
in>>x>>y;
tree[y]=x;
}
int node, vn;
for(int i=1; i<=n; i++){
node=i, vn=0;
while(v[node]!=0){
node=ancestor(node, v[node]);
vn++;
}
out<<vn<<" ";
}
return 0;
}