Cod sursa(job #616654)
| Utilizator | Data | 13 octombrie 2011 00:33:50 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
#include<fstream>
#define maxn 250010
using namespace std;
int tati[maxn];
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;
in>>n>>m;
for(int i=1;i<=n;i++)
in>>tati[i];
for(int i=1;i<=m;i++)
{
in>>a>>b;
dfs(a,0,b);
}
}