Cod sursa(job #1416202)

Utilizator BKmarianmarian BKmarian Data 7 aprilie 2015 16:56:35
Problema Diametrul unui arbore Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int a[100001],t[100001],x,y,i,j,n,nr,max1,max2;
int main()
{
    f>>n;
    for(i=1;i<n;i++)
    {
        f>>x>>y;
        t[y]=x;
        a[x]++;
        a[y]++;
    }
    for(i=1;i<=n;i++)
    {
        if(a[i]==1)
        {
            nr=0;
            j=i;
            while(t[j])
            {
                nr++;
                j=t[j];
            }
            if(max1<nr)
            {
                max2=max1;
                max1=nr;
            }
            else
                if(max1>nr && max2<nr)
                max2=nr;
        }
    }
    g<<max1+max2+1;
}