Cod sursa(job #222261)
| Utilizator | Data | 21 noiembrie 2008 16:28:38 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 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; niv[0]=0;stramos[0]=0;
for(int i=1;i<=n;i++)
{in>>stramos[i];niv[i]=niv[stramos[i]]+1;
}}
int fct(int a)
{if(y==0 || a==0) return a;
else {y--;return fct(stramos[a]);}}
int main()
{
citire();
for(;m;m--)
{in>>x>>y; out<<fct(x)<<'\n'; }
return 0;
}
