Cod sursa(job #65247)

Utilizator andreisfrentSfrent Andrei andreisfrent Data 7 iunie 2007 22:29:36
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

#define NMax 150000
struct NOD
{
	int x;
	NOD* s; //stramos - referinta
};
NOD* v[NMax];
void rez(int p, int q)
{
	// al p-lea stramos al lui q
	int i=0;
	NOD* w;
	w=v[q];
	for(;i<p;++i,w=w->s);
	printf("%d\n",w->x);
}
int main()
{
	freopen("stramosi.in","r",stdin);
	freopen("stramosi.out","w",stdout);
	int n,m;
	scanf("%d %d\n",&n,&m);
	int i,e;
	v[0]=new NOD;
	v[0]->s=v[0];
	v[0]->x=0;
	for(i=1;i<NMax;i++)	
	{
		v[i]=new NOD;
		v[i]->x=i;
	}
	for(i=0;i<n;++i)
	{
		scanf("%d",&e);
		v[i+1]->s=v[e];
	}
	int p,q;
	for(i=0;i<m;i++)
	{
		scanf("%d %d\n",&q,&p);
		rez(p,q);
	}
	return 0;
}