Cod sursa(job #2887613)

Utilizator dave_nagyNagy David dave_nagy Data 9 aprilie 2022 21:12:56
Problema Stramosi Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;

int main(){
    ifstream f("stramosi.in");
    ofstream o("stramosi.out");
    int N;
    int M;
    f>>N>>M;
    int szulok[N+1];
    int nagyik[N+1];
    for(int i=1; i<=N; i++){
        f>>szulok[i];
    }
    for(int e=1; e<=N; e++){
        int p = e;
        for(int g=1; g<=2; g++){
            p=szulok[p];
            if(p<=0||p>N)
                break;  
        }
        nagyik[e]=p;
    }
    //k-kerdesek
    for(int k=1; k<=M; k++){
        int p;
        int q;
        f>>p>>q;
        //g-generacio
        if(q==1)
            p=szulok[p];
        else{
            for(int g=1; g<=q-1; g=g+2){
                p=nagyik[p];
                if(p<=0||p>N)
                    break;  
            }
            if(q%2==1&&p>0)
                p=szulok[p];
        }
        o<<p<<endl;
    }

    return 0;
}