Cod sursa(job #70381)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 5 iulie 2007 19:03:57
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>

long n,m,w[250001],a,c,q;

void rezolvare(long e, long q)
{
if (q==c-1 || w[e]==0)
	printf("%ld\n",w[e]);
	else if (q+1==c-1 || w[w[e]]==0)
			printf("%ld\n",w[w[e]]);
  	  else if (q+2==c-1 || w[w[w[e]]]==0)
	 		  printf("%ld\n",w[w[w[e]]]);
		    else rezolvare(w[w[w[e]]],q+=3);			
}
/*
void rezolvare(long e, long q)
{
while (q!=c-1 && w[e]!=0)
	{
	e=w[e];
	++q;
	}
printf("%ld\n",w[e]);
}*/

void citire()
{
freopen("stramosi.in","r",stdin);
scanf("%ld%ld", &n, &m);
for (long i=1; i<=n; i++)
	scanf("%ld", &w[i]);
for (long i=1; i<=m; i++)
	{	
	scanf("%ld%ld", &a, &c);
	rezolvare(a,0);
/*q=c;
while (q!=c-1 && w[a]!=0)
	{
	a=w[a];
	++q;
	}
printf("%ld\n",w[e]);*/
	}
fclose(stdin);
}

int main()
{
freopen("stramosi.out","w",stdout);
citire();
fclose(stdout);
return 0;
}