Cod sursa(job #3188709)

Utilizator EftodeAndreiEftode Andrei EftodeAndrei Data 3 ianuarie 2024 18:18:27
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#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;
}