Cod sursa(job #2664220)

Utilizator MohneaGosuMihnea Gusu MohneaGosu Data 28 octombrie 2020 10:25:47
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream Gigi ("stramosi.in");
ofstream Marcel ("stramosi.out");
int stra[20][250001];
int main()
{
    int n,m,i,j;
    Gigi>>n>>m;
    for (i=1;i<=n;i++){
        Gigi>>stra[0][i];
    }
    for (i=1;i<=18;i++){
        for (j=1;j<=n;j++){
            stra[i][j]=stra[i-1][stra[i-1][j]];
        }
    }
    int x,nod;
    for (i=0;i<m;i++){
        int p=1,exp=0;
        Gigi>>nod>>x;
        while(x){
            if (x&p){
                nod=stra[exp][nod];
                x-=p;
            }
            p*=2;
            exp++;
        }
        Marcel<<nod<<"\n";
    }
    return 0;
}