Cod sursa(job #495083)
| Utilizator | Data | 23 octombrie 2010 22:24:51 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <cstdio>
#include <vector>
int nodes[1000][250001];
int main ()
{
FILE *in=fopen("stramosi.in", "r"), *out=fopen("stramosi.out", "w");
int n, m, value, s1, s2;
fscanf(in, "%d%d", &n, &m);
for(int i=0; i<n; ++i)
fscanf(in, "%d", &nodes[0][i+1]);
for(int i=1; i<1000; ++i)
for(int j=1; j<=n; ++j)
nodes[i][j]=nodes[0][nodes[i-1][j]];
for(int i=0; i<m; ++i)
{
fscanf(in, "%d%d", &s1, &s2);
fprintf(out, "%d\n", nodes[s2-1][s1]);
}
return 0;//debug
}
