Pagini recente » Cod sursa (job #3171481) | Cod sursa (job #1304363) | Cod sursa (job #1966364) | Cod sursa (job #554892) | Cod sursa (job #850875)
Cod sursa(job #850875)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fi("stramosi.in");
ofstream fo("stramosi.out");
int j,i,n,m,a[20][250010],x,y;
int main(){
fi >> n >> m;
for (i=1; i<=n; i++) fi >> a[0][i];
for (i=1; i<=17; i++)
for (j=1; j<=n; j++)
a[i][j]=a[i-1][a[i-1][j]];
for (i=0; i<=17; i++){
for (j=1; j<=n; j++) cout << a[i][j] << " ";
cout << "\n";
}
while (m) {
fi >> x >> y;
for (i=0; y>0; i++)
if ((y & 1<<i)>0){
x=a[i][x];
y-=1<<i;
}
fo << x << "\n";
m--;
}
return 0;
}