Pagini recente » Cod sursa (job #2543159) | Cod sursa (job #38998) | Cod sursa (job #175271) | Cod sursa (job #1899212) | Cod sursa (job #616665)
Cod sursa(job #616665)
#include<stdio.h>
#include<fstream>
#define maxn 250010
#include<stack>
using namespace std;
int tati[maxn];
stack<int> stiva;
int n,m;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
void dfs(int nod,int cnt,int val)
{
if(cnt==val) {out<<nod<<"\n"; return;}
else
{
cnt++;
if(tati[nod]==0) {out<<"0\n"; return;}
else
dfs(tati[nod],cnt,val);
}
}
int main()
{
int a,b,cnt,nod,val;
in>>n>>m;
for(int i=1;i<=n;i++)
in>>tati[i];
for(int i=1;i<=m;i++)
{
in>>nod>>val;
cnt=0;
stiva.push(nod);
while(1!=0)
{
nod=stiva.top();
stiva.pop();
if(cnt==val) {out<<nod<<"\n";break;}
else
{
cnt++;
if(tati[nod]==0) {out<<"0\n";break;}
else {stiva.push(tati[nod]);}
}
}
//dfs(a,0,b);
}
}