Pagini recente » Cod sursa (job #688840) | Cod sursa (job #208542) | Cod sursa (job #1017890) | Istoria paginii utilizator/beluci | Cod sursa (job #1640079)
#include <cstdio>
#include <vector>
#define max1 250000
#define max2 300000
using namespace std;
FILE *f1,*f2;
int N,M,stram[max1];
int get_stramosi(int k,int n)
{
for(int i=1;i<=n;i++)
{
if(k!=stram[k])
k=stram[k];
else
return 0;
}
return k;
}
int main()
{
f1=fopen("stramosi.in","r");
fscanf(f1,"%d%d",&N,&M);
int x,y;
for(int i=1;i<=N;i++)
{
fscanf(f1,"%d",&x);
stram[i]=x;
}
f2=fopen("stramosi.out","w");
for(int i=1;i<=M;i++)
{
fscanf(f1,"%d%d",&x,&y);
fprintf(f2,
"%d\n",get_stramosi(x,y));
}
return 0;
}