Pagini recente » Cod sursa (job #2308467) | Cod sursa (job #2029534) | Cod sursa (job #1395085) | Cod sursa (job #914908) | Cod sursa (job #2041208)
#include <stdio.h>
#include <iostream>
#include <vector>
int main() {
int numberOfNodes;
int numberOfQuestions;
FILE *in = fopen("stramosi.in", "r");
FILE *out = fopen("stramosi.out", "w");
fscanf(in, "%d %d", &numberOfNodes, &numberOfQuestions);
std::vector<int> parents(numberOfNodes + 1);
parents[0] = 0;
for (int i = 1; i <= numberOfNodes; i++) {
int node;
fscanf(in, "%d" , &node);
parents[i] = node;
}
for (int i = 0; i < numberOfQuestions; i++) {
int toFind;
int count;
fscanf(in, "%d %d", &toFind, &count);
int k = 0;
int parent = toFind;
while (k < count) {
parent = parents[parent];
k++;
}
fprintf(out,"%d\n",parent);
}
fclose(in);
fclose(out);
return 0;
}