Cod sursa(job #975617)

Utilizator StanAndreiAndrei Stan StanAndrei Data 20 iulie 2013 21:38:18
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#define NMAX 250005
#define MMAX 300005

using namespace std;

int T[NMAX],N,M;

void read()
{
    scanf("%d %d\n",&N,&M);

    int i;
    for (i=1;i<=N;i++)
        scanf("%d ",&T[i]);
}

int father(int P,int Q,int NR)
{
    if (NR==P)
        return Q;
    if (T[Q])
        father(P,T[Q],NR+1);
}

int main()
{
    freopen ("stramosi.in","r",stdin);
    freopen ("stramosi.out","w",stdout);
    int i,a,b;

    read();

    for (i=1;i<=M;i++)
    {
        scanf("%d %d\n",&a,&b);
        printf("%d\n",father(b,a,0));
    }

    fclose(stdin);
    fclose(stdout);

    return 0;
}