Pagini recente » Cod sursa (job #2310209) | Cod sursa (job #634439) | Cod sursa (job #2485907) | Borderou de evaluare (job #826629) | Cod sursa (job #469787)
Cod sursa(job #469787)
#include <cstdio>
#define DN 250005
int mat[20][DN],n,m;
void construire() {
for (int i=1;1<<i<=n;i++)
for (int j=1;j<=n;j++)
mat[i][j]=mat[i-1][mat[i-1][j]];
}
void stramos(int p, int q) {
int s=p,i=31;
while(i--) {
if (q&(1<<i))
s=mat[i][s];
}
printf("%d\n",s);
}
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int x,y,i;
scanf("%d %d",&n,&m );
for(i=1; i<=n; i++) scanf("%d",&mat[0][i] );
construire();
for(scanf("%d %d",&x,&y );m--; stramos(x,y),scanf("%d %d",&x,&y ));
return 0;
}