Cod sursa(job #226182)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 1 decembrie 2008 09:01:54
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

int S[18][250005];

int main()
{
FILE *in = fopen("stramosi.in","r");
FILE *out = fopen("stramosi.out","w");

int n,m,i,j,x,y,k;

fscanf(in,"%d%d",&n,&m);

for (i=1;i<=n;i++) fscanf(in,"%d",&S[0][i]);

for (i=1;i<=17;i++)
for (j=1;j<=n;j++)
S[i][j] = S[i-1][S[i-1][j]];

for (;m;m--)
{
fscanf(in,"%d%d",&x,&y);
k=1;

while (y)
{
if (y&1) x = S[k-1][x];
k++;
y>>=1;
}

fprintf(out,"%d\n",x);
}
}