Pagini recente » Cod sursa (job #2259194) | Cod sursa (job #2496862) | Cod sursa (job #447902) | Cod sursa (job #2771110) | Cod sursa (job #38322)
Cod sursa(job #38322)
// Problema cerere
#include <stdio.h>
#define MAX 100001
long t[MAX];
long K[MAX];
long n;
int main()
{
freopen( "cerere.in", "rt", stdin );
scanf( "%ld", &n );
long A, B, i, s, k, p;
for( i=1; i<=n; i++ ) scanf( "%ld", &K[i] );
for( i=1; i<=n; i++ )
{
scanf( "%ld %ld", &A, &B );
t[B] = A;
}
freopen( "cerere.out", "wt", stdout );
fclose( stdin );
for( i=1; i<=n; i++ )
{
s = 0;
p = i;
while( K[p] != 0)
{
k = K[p];
s += 1;
while( k > 0 )
{
p = t[p];
k--;
}
}
printf("%ld ", s );
}
printf( "\n" );
fclose( stdout );
return 0;
}