Cod sursa(job #222158)
Utilizator | Cebere Bogdan Bogdan_C | Data | 20 noiembrie 2008 20:20:15 |
---|---|---|---|
Problema | Stramosi | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int stramos[250001]={0},niv[250001]={0},n,m,x,y,aux,pos;
void citire()
{in>>n>>m;
for(int i=1;i<=n;i++)
{in>>stramos[i];niv[i]=niv[stramos[i]]++;
}}
int fct(int a,int niv)
{if(niv==0 || a==0) return a;
else {return fct(stramos[a],niv-1);}}
int main()
{ citire();
for(;m;m--)
{in>>x>>y; out<<fct(x,y+1)<<'\n'; }
return 0;
}