Pagini recente » Cod sursa (job #1877884) | Cod sursa (job #1314104) | Cod sursa (job #501927) | Cod sursa (job #682485) | Cod sursa (job #661517)
Cod sursa(job #661517)
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int ose(int e,int o,int &k,int p,int x[250000])
{
if (k==p)
{
return o;
}
else if (o==0)
{
k=p;
return o;
}
else
{
++k;
return ose(o,x[o],k,p,x);
}
}
int main()
{
string in,out;
in="stramosi.in";
out="stramosi.out";
ifstream f;
ofstream g;
f.open(in.c_str());
g.open(out.c_str());
int n,m,i,q,p,e,o,k;
int x[250000];
f >> n;
f >> m;
x[0]=0;
for (i=1; i<=n; ++i)
{
f >> x[i];
}
for (i=1; i<=m; ++i)
{
f >> q;
f >> p;
e=q;
o=x[q];
k=1;
g << ose(e,o,k,p,x) << endl;
/*for (j=1; j<=p-1; ++j)
{
e=o;
o=x[e];
if (o==0)
{
break;
}
}*/
}
f.close();
g.close();
return 0;
}