Cod sursa(job #1245142)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 18 octombrie 2014 17:42:36
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int n,sol[19][250001],m,p,q;

int main()
{

    in>>n>>m;
    int i,j;
    for( i = 1 ; i <= n ; i++)
        in>>sol[0][i];
    for(j = 1 ; j <= 18 ; j++)
        for(i = 1 ; i <= n ; i++)
            sol[j][i] = sol[j-1][sol[0][i]];
    for(j = 0 ; j <= 18 ; j++){
        for(i = 1 ; i <= n ; i++)
            cout<<sol[j][i]<<" ";
        cout<<"\n";
    }

    for(; m ; --m){
        in>>q>>p;
        for(int k = 0 ; p ; p /= 2 ,k++)
            if(p % 2 )
                q = sol[k][q];
        out<<q<<"\n";
    }
    return 0;
}