Mai intai trebuie sa te autentifici.
Cod sursa(job #70377)
Utilizator | Data | 5 iulie 2007 18:47:30 | |
---|---|---|---|
Problema | Stramosi | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.95 kb |
#include<stdio.h>
int 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 rezolvare(w[e],++q);
}*/
/*
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=0;
while (q!=c-1 && w[a]!=0)
{
a=w[a];
++q;
}
printf("%ld\n",w[a]);
}
fclose(stdin);
}
*/
int main()
{
freopen("stramosi.out","w",stdout);
//citire();
freopen("stramosi.in","r",stdin);
scanf("%d%d", &n, &m);
for (long i=1; i<=n; i++)
scanf("%d", &w[i]);
for (long i=1; i<=m; i++)
{
scanf("%d%d", &a, &c);
q=0;
while (q!=c-1 && w[a]!=0)
{
a=w[a];
++q;
}
printf("%d\n",w[a]);
}
fclose(stdin);
fclose(stdout);
return 0;
}