Pagini recente » Cod sursa (job #130279) | Cod sursa (job #2679621) | Cod sursa (job #1064382) | Cod sursa (job #1081228) | Cod sursa (job #1444960)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
ifstream in ("stramosi.in");
ofstream out ("stramosi.out");
long m,q,n,p,v[100][100];
in>>n;
in>>m;
for (int j=1; j<=n; j++)
{
in>>v[1][j];
}
/*
for (int i=1; i<=m;i++)
{
in>>q>>p;
while (p>0&&q>0)
{
q=v[q];
p--;
}
out<<q<<endl;
}
*/
bool stop=false;
int i=2;
while (stop==false)
{
stop=true;
for (int j=1; j<=n; j++)
{
/*
1 2 3 4 5
0 1 2 2 4
0 0 1 1 2
*/
int nrDeasupra=v[i-1][j];
int TataLuiNrDeasupra=v[1][nrDeasupra];
v[i][j]= TataLuiNrDeasupra; /// v[i-1][v[i-i][j]];
if (v[i][j]!=0)
stop=false;
}
i++;
}
//int nrRows=--i;
/*
for (int i=1; i<=n; i++)
cout<<setw(3)<<i<<" ";
cout<<endl;
cout<<"-------------------------------------------"<<endl;
for (int i=1; i<nrRows; i++)
{
for (int j=1; j<=n; j++)
cout<<setw(3)<<v[i][j]<<" ";
cout<<endl;
}
*/
for (int i=1; i<=m;i++)
{
in>>q>>p;
out<<v[p][q]<<endl;
}
in.close();
out.close();
return 0;
}