Cod sursa(job #836261)

Utilizator deneoAdrian Craciun deneo Data 16 decembrie 2012 12:28:01
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<sstream>
using namespace std;
 
int n, m;
int str[20][250001];
 
int main() {
    int i, j, q, p, s;
	stringstream f;
    ifstream fin("stramosi.in");
    ofstream g("stramosi.out");
	f << fin.rdbuf();
    f >> n >> m;
    for(i = 1; i <= n; ++i)
        f >> str[0][i];
    for(i = 1; (1 << i) < n; ++i)
        for(j = 1; j <= n; ++j)
            str[i][j] = str[i - 1][str[i - 1][j]];
    for(j = 1; j <= m; ++j) {
        f >> p >> q; i = 0;
        while(q) {
            if(q & 1)
                p = str[i][p];
            q >>= 1;
            ++i;
        }
        g << p << '\n';
    }
    g.close();
    return 0;   
}