Cod sursa(job #2181760)
| Utilizator | Data | 21 martie 2018 20:30:16 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
int n,m;
int pater[20][250005];
int main()
{
int i,j;
ifstream t1("stramosi.in");
ofstream t2("stramosi.out");
t1>>n>>m;
for(i=1;i<=n;i++)
t1>>pater[0][i];
for(i=1; (1<<i)<=n;i++)
for(j=1;j<=n;j++)
pater[i][j]= pater[i-1][ pater[i-1][j] ];
int who,nr;
for(;m;m--)
{
t1>>who>>nr;
while(nr)
{
for(i=0;(1<<i)<=nr;i++); i--;
nr-=(1<<i);
who=pater[i][who];
}
t2<<who<<'\n';
}
t1.close();
t2.close();
return 0;
}
