Cod sursa(job #494823)

Utilizator space.foldingAdrian Soucup space.folding Data 23 octombrie 2010 01:04:54
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <cstdio>
using namespace std;
int v[20][250001];


int main ()
{
	FILE *in=fopen("stramosi.in", "r"), *out=fopen("stramosi.out", "w");
	int n, m, value, s1, s2;
	fscanf(in, "%d%d", &n, &m);
	for(int i=0; i<n; ++i)
		fscanf(in, "%d", &v[0][i+1]);

	for(int i=1; i<=n; ++i)
	{
		value=i;
		int j=1;
		while(v[0][value])
		{
			value=v[0][value];
			v[j++][i]=value;
		}
	}


	for(int i=0; i<m; ++i)
	{
		fscanf(in, "%d%d", &s1, &s2);
		fprintf(out, "%d\n", v[s2][s1]);		
	}
	return 0;
}