Pagini recente » Cod sursa (job #2047282) | Cod sursa (job #2416047) | Cod sursa (job #1343685) | Cod sursa (job #1682529) | Cod sursa (job #295337)
Cod sursa(job #295337)
#include<stdio.h>
FILE *f,*g;
int n,m;
int s[20][250100];
int main(){
f = fopen("stramosi.in" ,"r");
g = fopen("stramosi.out","w");
fscanf(f,"%d%d",&n,&m);int i,j,a,b;
for(i=1;i<=n;i++) fscanf(f,"%d",s[0]+i);
for(i=1; ( 1 << i ) <= n ; i++ )
for(j = 1 ; j<= n; j++)
s[i][j] = s[i-1][s[i-1][j]];
for( ; m-- ; ){i=0;
fscanf(f,"%d%d",&a,&b);
while( b!=0 ){
if(b%2) { a = s[i][a]; }
i++; b >>=1;
}
fprintf(g,"%d\n",a);
}
return 0 ;
}