Cod sursa(job #1253285)
| Utilizator | Data | 1 noiembrie 2014 00:17:58 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include<fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
/*
d[i][j] = al 2^i-lea stramosi a lui j
*/
const int nmax = 250006;
int n, d[20][nmax], m, p, q;
int main(){
int player_unu=0;
in>>n>>m;
for(int i = 1; i<=n; i++)
in>>d[0][i];
for(int i = 1; i<=18; i++)
for(int j = 1; j<=n; j++)
d[i][j] = d[i - 1][d[i - 1][j]];
for(int shp = 0; shp<m; shp++)
{
in>>q>>p;
for(int i = 0; p!=0; p/=2, i++)
if(p%2==1)
q = d[i][q];
out<<q<<'\n';
}
return player_unu;
}