Pagini recente » Cod sursa (job #2090504) | Cod sursa (job #2746973) | Cod sursa (job #674456) | Cod sursa (job #1500865) | Cod sursa (job #2887613)
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream f("stramosi.in");
ofstream o("stramosi.out");
int N;
int M;
f>>N>>M;
int szulok[N+1];
int nagyik[N+1];
for(int i=1; i<=N; i++){
f>>szulok[i];
}
for(int e=1; e<=N; e++){
int p = e;
for(int g=1; g<=2; g++){
p=szulok[p];
if(p<=0||p>N)
break;
}
nagyik[e]=p;
}
//k-kerdesek
for(int k=1; k<=M; k++){
int p;
int q;
f>>p>>q;
//g-generacio
if(q==1)
p=szulok[p];
else{
for(int g=1; g<=q-1; g=g+2){
p=nagyik[p];
if(p<=0||p>N)
break;
}
if(q%2==1&&p>0)
p=szulok[p];
}
o<<p<<endl;
}
return 0;
}