Pagini recente » Cod sursa (job #2571218) | Cod sursa (job #2572227) | Cod sursa (job #1645525) | Cod sursa (job #1455259) | Cod sursa (job #15975)
Cod sursa(job #15975)
#include<stdio.h>
long int M,N,x[17][300000],y[20],P,Q,i,j,k,E,m;
int main()
{ FILE *f=fopen("stramosi.in","r");
FILE *g=fopen("stramosi.out","w");
fscanf(f,"%ld%ld",&N,&M);
y[0]=1;
for(j=1;j<=17;j++) y[j]=2*y[j-1];
x[0][0]=0;
for(j=1;j<=N;j++) fscanf(f,"%ld",&x[0][j]);
for(i=1;i<=17;i++)
for(j=1;j<=N;j++)
{ m=x[i-1][j];
x[i][j]=x[i-1][m];
}
for(i=1;i<=M;i++){ fscanf(f,"%ld%ld",&Q,&P);
k=1;
while(P){if(P%2==1)Q=x[k-1][Q];k++;P/=2;}
fprintf(g,"%ld ",Q);
}
fprintf(g,"\n");
fcloseall();
return 0;
}