Pagini recente » Cod sursa (job #1523641) | Cod sursa (job #2536589) | Cod sursa (job #3189430) | Cod sursa (job #951337) | Cod sursa (job #486254)
Cod sursa(job #486254)
#include <stdio.h>
FILE *f,*s;
int m,n,i,j,x,y,z,v[50][250005];
int main()
{
f=fopen("stramosi.in","r");
s=fopen("stramosi.out","w");
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++)
fscanf(f,"%d",&v[0][i]);
for (i=1;i<=40;i++)
{
for (j=1;j<=n;j++)
v[i][j]=v[i-1][v[i-1][j]];
}
for (i=1;i<=m;i++)
{
fscanf(f,"%d%d",&x,&y);
z=0;
while (y!=0)
{
if (y%2==1)
x=v[z][x];
z++;
y/=2;
}
fprintf(s,"%d\n",x);
}
fclose(s);
return 0;
}