Cod sursa(job #416776)

Utilizator cosmyoPaunel Cosmin cosmyo Data 13 martie 2010 15:04:59
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream.h>
#include<deque>
#include<list>
#include<vector>
#define NMAX 250001
#define in ifstream fin("stramosi.in")
#define out ofstream fout("stramosi.out")
using namespace std;
typedef list<long> ST;
typedef ST::iterator IT;
ST S[NMAX];
long n,m;
long df(long k,long lg,long p)
{if(lg==p)
	return k;
  else
  if(S[k].empty())
    return 0;
else  
  
	return df(S[k].front(),lg+1,p);
}
int main()
{in;
 out;
 fin>>n>>m;
 long i,x,q,p;
  for(i=1;i<=n;++i)
  {fin>>x;
    if(x>0)
     {S[i].push_back(x);
	 }
  }
 IT it;
 for(;m;--m)
 {fin>>q>>p;
  fout<<df(q,0,p)<<'\n';
 }
 fin.close();
 fout.close();
 return 0;
}