Pagini recente » Cod sursa (job #880424) | Cod sursa (job #1043132) | Cod sursa (job #2863529) | Cod sursa (job #2940809) | Cod sursa (job #1513710)
#include<iostream>
#include<fstream>
int main()
{
unsigned long N, M, Q, P;
std::ifstream f("stramosi.in");
//std::ofstream g("stramosi.out");
std::ofstream g;
g.open ("stramosi.out");
f >> N;
f >> M;
int *descendantlist;
descendantlist = new int[++N];
unsigned int x;
for (int i = 1; i < N; ++i) {
f >> x;
//g<<x;//the direct descendant of family member i
//std::cout << x << " ";
descendantlist[i] = x;
}
//std::cout << std::endl;
x = 0;
while (x < M){
f >> Q; //the family member
f >> P; //the number of the descendant searched
x++;
int nr = 1;
while (nr <= P){
Q = descendantlist[Q];
if (Q == 0){
//std::cout << Q << " ";
g<<Q<<std::endl;
break;
}
nr++;
}
if (Q!=0){
//std::cout << Q<< " ";
g<<Q<<std::endl;
}
}
//std::cin >> x;
return 0;
}