Cod sursa(job #51719)

Utilizator DastasIonescu Vlad Dastas Data 16 aprilie 2007 17:19:33
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

int N[250000];

FILE *in = fopen("stramosi.in", "r"), *out = fopen("stramosi.out", "w");
int n, m;

inline int find(int nr, int times)
{
	for ( int i = times-1; i != -1; --i )
	{
		if ( N[nr-1] == 0 )
		{
			return 0;
		}
		nr = N[nr-1];
	}
	return nr;
}

int main ()
{
	int temp1, temp2;

	fscanf(in, "%d %d", &n, &m);

	for ( int i = 0; i != n; ++i )
	{
		fscanf(in, "%d", &N[i]);
	}

	for ( int i = m-1; i != -1; --i )
	{
	    fscanf(in, "%d %d", &temp1, &temp2);
	    fprintf(out, "%d\n", find(temp1, temp2));
	}

	return 0;
}