Pagini recente » Cod sursa (job #2467131) | Cod sursa (job #556326) | Cod sursa (job #2568077) | Cod sursa (job #2868682) | Cod sursa (job #2645787)
#include <fstream>
using namespace std;
const int NMAX = 100000;
int k[1 + NMAX];
int tata[1 + NMAX];
int main()
{
ifstream in("cerere.in");
ofstream out("cerere.out");
int n, a, b, nr_maimute, maimuta_crt, maimuta_pornire;
in >> n;
for (int i = 1; i <= n; i++)
{
in >> k[i];
}
for (int i = 1; i <= n - 1; i++)
{
in >> a >> b;
tata[b] = a;
}
for (int i = 1; i <= n; i++)
{
nr_maimute = 0;
maimuta_crt = i;
while (k[maimuta_crt] != 0)
{
maimuta_pornire = maimuta_crt;
for (int j = 1; j <= k[maimuta_pornire]; j++)
{
maimuta_crt = tata[maimuta_crt];
}
nr_maimute++;
}
out << nr_maimute << ' ';
}
return 0;
}