Pagini recente » Cod sursa (job #2194341) | Cod sursa (job #3281077) | Cod sursa (job #2187651) | Cod sursa (job #2560276) | Cod sursa (job #1042734)
#include <iostream>
#include <cstdio>
FILE *f,*g;
using namespace std;
int N,M,T[25000][10000];
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,j;
for(i=1;i<=N;i++)
{
j=1;
while(T[j][i])
{
j++;
T[j][i] = T[1][T[j-1][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;
}