Pagini recente » Cod sursa (job #657071) | Cod sursa (job #1998261) | Cod sursa (job #1291685) | Cod sursa (job #1544385) | Cod sursa (job #1259869)
#include <fstream>
#include<vector>
using namespace std;
ifstream f("cerere.in");
ofstream g("cerere.out");
int n,i,x,y,z,k;
vector <int> v,t;
int stramos (int nr,int y)
{
int d=0,x=y;
while(d<nr)
d++,x=t[x];
return x;
}
int main()
{f>>n;
v.push_back(0);
for(i=1;i<=n;i++)
{
f>>x;
v.push_back(x);
t.push_back(0);
}
for(i=1;i<n;i++)
{
f>>x>>y;
t[y]=x;
}
for(i=1;i<=n;i++)
if(v[i]==0)
g<<0<<" ";
else
{
k=1;
z=stramos(v[i],i);
while(v[z]!=0)
{k++;z=stramos(v[z],z);
}
g<<k<<" ";
}
return 0;
}