Pagini recente » Cod sursa (job #3029958) | Cod sursa (job #215766) | Cod sursa (job #1519913) | Cod sursa (job #2834285) | Cod sursa (job #1723586)
#include <stdio.h>
#include <stdlib.h>
struct persoana
{
struct persoana * tata;
};
typedef struct persoana nod;
nod v[250001];
nod * curent;
int main()
{
FILE * f=fopen("stramosi.in","r");
FILE *fp=fopen("stramosi.out","w");
long N,M,i,aux,j,P,Q;
int ok;
fscanf(f,"%ld %ld",&N,&M);
for(i=1;i<=N;i++)
{
fscanf(f,"%ld",&aux);
v[i].tata=&v[aux];
}
for(i=0;i<M;i++)
{
fscanf(f,"%ld %ld",&Q,&P);
curent=&v[Q];
ok=1;
for(j=0;j<P;j++)
{
if(curent->tata==NULL)
{
fprintf(fp,"0\n");
ok=0;
break;
}
else
{
curent=curent->tata;
}
}
if(ok) fprintf(fp,"%ld\n",(curent-&v[0]));
}
return 0;
}