Cod sursa(job #219550)

Utilizator cotofanaCotofana Cristian cotofana Data 7 noiembrie 2008 12:37:37
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>

long n, m;

int main()
{
	long i, n, m, p, q, v[250001], j;
	char sir[1500000];
	freopen("stramosi.in", "r", stdin);
	freopen("stramosi.out", "w", stdout);
	scanf("%ld %ld\n", &n, &m);

	//for (i=1; i<=n; i++) scanf("%ld ", &v[i]);
	gets(sir);
	j=0;
	for (i=1; i<=n; i++)
	{
		v[i]=0;
		while (sir[j]<'0' || sir[j]>'9') j++;
		while (sir[j]>='0' && sir[j]<='9')
		{
			v[i]=v[i]*10+sir[j]-'0';
                	j++;
		}
	}

	for (i=0; i<m; i++)
	{
		//scanf("%ld %ld\n", &q, &p);
		gets(sir);
		j=q=p=0;
		while (sir[j]<'0' || sir[j]>'9') j++;
		while (sir[j]>='0' && sir[j]<='9')
		{
			q=q*10+sir[j]-'0';
			j++;
		}
		while (sir[j]<'0' || sir[j]>'9') j++;
		while (sir[j]>='0' && sir[j]<='9')
		{
			p=p*10+sir[j]-'0';
			j++;
		}


		for (p; p; p--)
			q=v[q];
		printf("%ld\n", q);
	}
	return 0;
}