Cod sursa(job #878610)

Utilizator NicuCJNicu B. NicuCJ Data 14 februarie 2013 16:31:05
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
int pre[101][250001], k[250001];
int p, q, n, m, i, a, contor, j;
bool ok;
int main()
{
    ifstream f("stramosi.in");
    ofstream g("stramosi.out");
    f>>n>>m;
    for(i=1; i<=n; i++)
    {
        f>>pre[0][i];
    }
    for(j=1; j<=21; j++)
    {
        for(i=1; i<=n; i++)
        {
                pre[j][i]=pre[j-1][pre[j-1][i]];
        }
    }
    int s;
    for(i=1; i<=m; i++)
    {
        f>>p>>q;
        s=p;
        contor=0;
        while(q)
        {
            if(q%2==1)
            {
                s=pre[contor][s];
            }
            contor++;
            q=q/2;
        }
        g<<s<<"\n";
    }
}
//pre[0][x]
//pre[1][x]=pre[0][pre[0][x]]