Pagini recente » Cod sursa (job #3030188) | Rating Atz Atz (sanctus2099) | Cod sursa (job #457607) | Cod sursa (job #456152) | Cod sursa (job #1503243)
#include <iostream>
#include <stdio.h>
using namespace std;
int stramos(int a[], int x, int grad)
{
if(grad==1)
return a[x];
else
if(a[x]==0)
return 0;
else
return stramos(a, a[x], grad-1);
}
int main ()
{
FILE *input, *output;
input = fopen("stramosi.in", "r");
output = fopen("stramosi.out", "w");
int m, n, i, a[250001], p, q, s, grad;
fscanf(input, "%d", &n);
fscanf(input, "%d", &m);
for(i=1;i<=n;i++)
{
fscanf(input, "%d", &a[i]);
}
for(i=1;i<=m;i++)
{
fscanf(input, "%d %d", &q, &p);
grad = p;
s = q;
while( grad>=1 && s!=0 )
{
s = a[s];
grad--;
}
// s = stramos(a, q, p);
fprintf(output, "%d\n", s);
}
fclose(input);
fclose(output);
return 0;
}