Cod sursa(job #1114366)

Utilizator Vladinho97Iordan Vlad Vladinho97 Data 21 februarie 2014 15:53:45
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>

using namespace std;
int stramos[250002][20],v[250002];
int main()
{
    int n,i,j,x,y,m;
    freopen("stramosi.in","r",stdin);
    freopen("stramosi.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;++i)
    {
        scanf("%d",&stramos[i][1]);
    }
    for(i=1;i<=n;i++)
        for(j=2;j<=19;j++)
            stramos[i][j]=stramos[stramos[i][j-1]][j-1];
    for(i=1;i<=m;++i)
    {
        scanf("%d%d",&x,&y);
        int rasp=x,nr=0;
        while(y>0)
        {
            nr++;
            if(y%2==1)
            {
                rasp=stramos[rasp][nr];
            }
            y=y/2;
        }
        printf("%d\n",rasp);
    }
    return 0;
}