Cod sursa(job #579954)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 12 aprilie 2011 16:48:36
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb

#include <cstdio>
#include <fstream>

using namespace std;

#define p(x) 1<<x

int a[p(5)][p(18)];

int main ()
{

    ifstream in ("stramosi.in");
    int n,m;
    in>>n>>m;
    for(int i=1;i<=n;++i)
        in>>a[0][i];
    int L[p(18)];
    L[1]=0;
    for(int i=2;i<=n;++i)
        L[i]=L[i>>1]+1;
    for(int i=1;p(i)<=n;++i)
        for(int j=1;j<=n;++j)
            a[i][j]=a[i-1][a[i-1][j]];
    int b,c;
    freopen ("stramosi.out","w",stdout);
    for(;m;--m){
        in>>b>>c;
        for(;c;c-=(p(L[c])))
            b=a[L[c]][b];
        printf("%d\n",b);
    }

return 0;}