Pagini recente » Cod sursa (job #1426622) | Cod sursa (job #537689) | Cod sursa (job #1281116) | Cod sursa (job #1416199) | Cod sursa (job #1368998)
#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 ancestor;
int nod, rang;
Nod** Graph;
in >> N >> M;
Graph = new Nod*[N + 1];
Graph[0] = NULL;
for (i = 1; i <= N; ++i)
{
in >> ancestor;
Graph[i] = new Nod;
Graph[i]->value = i;
Graph[i]->parent = ancestor;
}
for (i = 1; i <= M; ++i)
{
in >> nod >> rang;
int p;
Nod* traveller = Graph[nod];
for (p = 0; p != rang && traveller != NULL; ++p)
traveller = Graph[traveller->parent];
if (traveller == NULL)
out << "0\n";
else
out << traveller->value << "\n";
}
for (i = 0; i <= N; ++i)
delete Graph[i];
delete[] Graph;
return 0;
}