Cod sursa(job #2754985)

Utilizator jaha01Jahaleanu Vlad-Gabriel jaha01 Data 26 mai 2021 18:39:59
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 f("stramosi.in");
ofstream g("stramosi.out");

int arbore[50][250001]= {0}, N, M, persoana, nr;

void create()
{
    for (int i = 1; pow(2,i) <= N; i++)
    {
        for (int j = 1; j <= N; j++)
        {
            arbore[i][j] = arbore[i - 1][arbore[i - 1][j]];
        }
    }


}

int search_stramos(int persoana, int nr)
{
    int i = 0;
    while (nr)
    {
        if (nr % 2 == 1)
        {
            persoana = arbore[i][persoana];
        }

        nr /= 2;
        i++;
    }
    return persoana;
}

int main()
{

    f>>N>>M;

    for (int i = 0; i <= N; i++)
    {
        f>>persoana;
        arbore[0][i] = persoana;
    }

    create();

    for (int i = 0; i <= M; i++)
    {
        f>>persoana>>nr;
        g<<search_stramos(persoana, nr)<<'\n';
    }

    return 0;
}