Pagini recente » Cod sursa (job #2751875) | Cod sursa (job #1700229) | Cod sursa (job #1705656) | Cod sursa (job #2224286) | Cod sursa (job #1369033)
#include <fstream>
using namespace std;
struct Nod
{
int parent;
int value;
};
int main()
{
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int N;
int M;
int i;
int p;
int ancestor;
int nod, rang;
Nod* Graph;
Nod traveller;
in >> N >> M;
Graph = new Nod[N + 1];
for (i = 1; i <= N; ++i)
{
in >> ancestor;
Graph[i].value = i;
Graph[i].parent = ancestor;
}
for (i = 1; i <= M; ++i)
{
in >> nod >> rang;
traveller = Graph[nod];
for (p = 1; p <= rang && traveller.parent != 0; ++p)
traveller = Graph[traveller.parent];
if (p - 1 == rang)
out << traveller.value << "\n";
else
out << "0\n";
}
in.close();
out.close();
delete[] Graph;
return 0;
}