Pagini recente » Cod sursa (job #411912) | Cod sursa (job #1134368) | Cod sursa (job #1749587) | Cod sursa (job #1618092) | Cod sursa (job #352435)
Cod sursa(job #352435)
#include <fstream>
#define N 252144
using namespace std;
ifstream f ("stramosi.in");
ofstream g ("stramosi.out");
int n, m, p, q;
int v[20][N];
int main()
{
f >> n >> m;
for (int i=1; i<=n; ++i)
f >> v[0][i];
int ok=1, j=0, cv=0;
while (ok && j<19)
{ j++;
ok=0;
for (int k=1; k<=n; k++)
{ cv=v[j-1][v[j-1][k]];
v[j][k]=cv;
if (cv)
ok=1;
}
}
int o, r;
for (;m;--m)
{ f >> p >> q;
o=0;
while (q>0)
{ if (q%2==1)
p=v[o][p];
o++;
q/=2;
}
g << p << "\n";
}
f.close();
g.close();
return 0;
}