Cod sursa(job #1606479)

Utilizator SmitOanea Smit Andrei Smit Data 20 februarie 2016 12:13:17
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;

int n,d[20][1250003],m;

int main()
{
    int i,j,nod,gr,p;
    ifstream fin("stramosi.in");
    fin>>n>>m;
    for(i=1;i<=n;++i)
        fin>>d[0][i];
    ///
    for(i=1;i<=19;++i)
        for(j=1;j<=n;++j)
            d[i][j]=d[i-1][d[i-1][j]];
    ///
    ofstream fout("stramosi.out");
    for(i=1;i<=m;++i)
    {
        fin>>nod>>gr;
        p=0;
        while(gr)
        {
            if(gr%2==1) nod=d[p][nod];
            p++;
            gr/=2;
        }
        fout<<nod<<"\n";
    }
    fout.close();
    return 0;
}