Cod sursa(job #1245088)
| Utilizator | Data | 18 octombrie 2014 17:05:53 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
const int NMAX = 20;
int n,sol[NMAX][250009],m,p,q;
int main()
{
in>>n>>m;
for(int i = 1 ; i <= n ; i++)
in>>sol[0][i];
for(int j = 1 ; j <= NMAX ; j++)
for(int i = 1 ; i <= n ; i++)
sol[j][i] = sol[j-1][sol[0][i]];
while(m--){
in>>q>>p;
if(p == 0)
out<<q<<"\n";
else
out<<sol[p-1][q]<<"\n";
}
return 0;
}
