Cod sursa(job #1723590)

Utilizator bercean.bogdanBogdan-Alexandru Bercean bercean.bogdan Data 30 iunie 2016 23:43:03
Problema Stramosi Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>

struct persoana
{
    struct persoana * tata;
};

typedef struct persoana nod;

int main()
{
    nod v[250001];
    nod * curent;

    FILE * f=fopen("stramosi.in","r");
    FILE *fp=fopen("stramosi.out","w");

    long N,M,i,aux,j,P,Q;

    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];

        for(j=0;j<P&&curent->tata!=NULL;j++)
        {
                curent=curent->tata;
        }

        if(j==P) fprintf(fp,"%ld\n",(curent-&v[0]));
    }

    return 0;
}