Pagini recente » Cod sursa (job #1345432) | Cod sursa (job #1861228) | Cod sursa (job #2647222) | Cod sursa (job #1020167) | Cod sursa (job #1042728)
#include <iostream>
#include <cstdio>
FILE *f,*g;
using namespace std;
int N,M,T[250001][1000];
void read()
{
fscanf(f,"%d%d\n",&N,&M);
for(int i=1;i<=N;i++)
{
//citim tatal de intaltime 1 a lui i
fscanf(f,"%d",&T[1][i]);
}
}
void make_stramosi()
{
int i=2,j;
while(i<=N)
{
for(j=1;j<=N;j++)
{
//tatal de inaltime i a lui j
T[i][j] = T[1][T[i-1][j]];
}
i++;
}
}
int main()
{
f=fopen("stramosi.in","r");
g=fopen("stramosi.out","w");
read();
make_stramosi();
for(int i=1;i<=M;i++)
{
int Q,P;
fscanf(f,"%d%d\n",&Q,&P);
fprintf(g,"%d\n",T[P][Q]);
}
fclose(f);
fclose(g);
return 0;
}