Pagini recente » Cod sursa (job #2243155) | Cod sursa (job #2905750) | Cod sursa (job #648365) | Cod sursa (job #2880137) | Cod sursa (job #493194)
Cod sursa(job #493194)
#include <cstdio>
#include <cstdlib>
#define FIN "stramosi.in"
#define FOUT "stramosi.out"
using namespace std;
int get_parent(int k, int level, int *parent)
{
while(level-->0){
k = parent[k];
}
return k;
}
int main(int argc, char *argv[])
{
int N, M, *parent, k, level;
FILE *in = NULL, *out = NULL;
in = fopen(FIN, "r");
out = fopen(FOUT, "w");
fscanf(in, "%d %d", &N, &M);
parent = new int[N+1];
for(int i = 1; i < N+1; ++i){
fscanf(in, "%d", &parent[i]);
}
for(int j = 0; j < M; ++j){
fscanf(in, "%d %d", &k, &level);
fprintf(out, "%d\n", get_parent(k, level, parent));
}
fclose(in);
fclose(out);
return (EXIT_SUCCESS);
}