Pagini recente » Cod sursa (job #2621682) | Cod sursa (job #1251691) | Cod sursa (job #969361) | Cod sursa (job #1427186) | Cod sursa (job #3188709)
#include<bits/stdc++.h>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int main() {
int N, M;
cin >> N >> M;
vector<int> stramosi(N + 1); // Vectorul pentru a stoca stramosii fiecarui membru
for (int i = 1; i <= N; ++i) {
cin >> stramosi[i];
}
for (int i = 0; i < M; ++i) {
int Q, P;
cin >> Q >> P;
int stramos = Q; // Incepem cu membrul Q
int count = 0;
// Iteram pana gasim al P-lea stramos sau ajungem la un membru fara stramos
while (stramos != 0 && count < P) {
stramos = stramosi[stramos];
count++;
}
if (count == P) {
cout << stramos << endl; // Afisam stramosul gasit
}
else {
cout << 0 << endl; // Daca nu am gasit, afisam 0
}
}
return 0;
}