Cod sursa(job #594312)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 7 iunie 2011 01:25:38
Problema Lowest Common Ancestor Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <algorithm>
#include <cstdlib>

using namespace std;

int a[100000];
int n,m;

int main()
{
    int x,y;
    ifstream f("lca.in");
    ofstream g("lca.out");

    f >> n >> m;
    int i;
    for (i=2; i<=n; i++)
    {
        f >> a[i];
    }

    for (i=0; i<m; i++)
    {
        f >> x >> y;
        while (x!=y)
        {
            if (x>y)
            {
                x=a[x];
            } else
            {
                y=a[y];
            }
        }
        g << x << endl;
    }
    g.close();
}