Pagini recente » Cod sursa (job #2033208) | Cod sursa (job #1501953) | Cod sursa (job #3228939) | Cod sursa (job #3282120) | Cod sursa (job #2753788)
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
struct nod
{
int indice;
nod* stramos;
};
nod* v[300000];
int main()
{
int n,m,x,j;
fin>>n>>m;
for(int i=1;i<=n;i++)
{
v[i] = new nod();
fin>>x;
if(x==0)
v[i] ->stramos = NULL;
else
v[i]->stramos = v[x];
v[i]->indice = i;
}
nod* aux;
int ok;
for(int i=0;i<m;i++)
{
fin>>j>>x;
aux = v[j];
while(x>=1)
{
if(aux->stramos!=NULL)
{
aux = aux->stramos;
x--;
}
else
{
fout<<"0\n";
break;
}
}
if(x == 0)
fout<<aux->indice<<"\n";
}
return 0;
}