Cod sursa(job #1518211)
| Utilizator | Data | 5 noiembrie 2015 18:50:43 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<iostream>
#include<fstream>
int D[19][250001],N,M,i,j,e;
int main()
{
std::ifstream f("stramosi.in");
std::ofstream g("stramosi.out");
f>>N>>M;
for(i=1;i<=N;++i)
f>>D[0][i]; //D[0][1]= 0
for(i=1;i<=18 ;++i)
for(j=1;j<=N;++j)
D[i][j]=D[i-1][D[i-1][j]];
int Q,P,S;
for(i=1;i<=M;++i)
{
f>>Q>>P;
e=Q;
for(j=0;j<=18;++j,P>>=j)
if(P&1)
e=D[j][e];
g<<e<<'\n';
}
return 0;
}
