Cod sursa(job #355211)
| Utilizator | Data | 10 octombrie 2009 13:33:42 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
//using namespace std;
int stra(int x,int p, int t[])
{
if(p==1 || !t[x]) return t[x];
return stra(t[x],p-1,t);
}
int main()
{
freopen("stramosi.in", "rt", stdin);
freopen("stramosi.out", "wt", stdout);
int i,n,t[250000],m,p,q;
scanf("%d%d", &n, &m);
for(i=1;i<=n;i++)
scanf("%d", &t[i]);
for(i=0;i<m;i++)
{
scanf("%d%d", &q, &p);
printf("%d\n", stra(q,p,t));
}
return 0;
}
