Pagini recente » Cod sursa (job #1383659) | Cod sursa (job #250720) | Cod sursa (job #2416121) | Cod sursa (job #270737) | Cod sursa (job #978536)
Cod sursa(job #978536)
#include<fstream>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int a[1001][1001];
int rezolva(int membru,int ordn)
{
int i;
i=0;
while(ordn!=0&&membru!=0)
{
if(ordn%2==1)
membru=a[i][membru];
ordn=ordn/2;
i++;
}
return membru;
}
int main()
{
int n,m,i,j,x,y,l;
f>>n>>m;
x=1;
y=0;
while(x<m)
{
x=x*2;
y++;
}
y++;
for(i=1;i<=n;i++)
f>>a[0][i];
for(i=1;i<=y;i++)
for(j=1;j<=n;j++)
a[i][j]=a[i-1][a[i-1][j]];
for(l=1;l<=m;l++)
{
f>>x>>y;
g<<rezolva(x,y)<<"\n";
}
return 0;
}