Cod sursa(job #1914126)

Utilizator mateigabriel99Matei Gabriel mateigabriel99 Data 8 martie 2017 15:39:46
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

#define NMax 100005

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

int N;
vector<int> Graph[NMax];
int length,lastNode;

void DFS(int node,int father,int level)
{
    if(level>length)
        length=level, lastNode=node;
    for(vector<int>::iterator it=Graph[node].begin();it!=Graph[node].end();it++)
        if(*it!=father)
            DFS(*it,node,level+1);
}

int main()
{
    fin>>N;
    for(int i=1;i<N;i++)
    {
        int x,y;
        fin>>x>>y;
        Graph[x].push_back(y);
        Graph[y].push_back(x);
    }
    length=0, DFS(1,0,1);
    length=0, DFS(lastNode,0,1);
    fout<<length;

    return 0;
}