Cod sursa(job #3134959)

Utilizator bianca_ungureanuBianca-Maria Ungureanu bianca_ungureanu Data 1 iunie 2023 01:20:36
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
const int NMAX=100001;

int n,lung,jos;
bool viz[NMAX];
vector <int> G[NMAX];

void citire()
{
    f>>n;
    for(int i=1;i<n;i++)
    {
        int x,y;
        f>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }
}

void DFS(int x,int nivel)
{
   viz[x]=1;
   if (nivel>lung)
   {
       lung=nivel;
       jos=x;
   }
   for(const auto &i:G[x])
        if (viz[i]==0)
            DFS(i,nivel+1);
}

int main()
{
    citire();
    DFS(1,1);
    for (int i=1;i<=n;i++)
        viz[i]=0;
    DFS(jos,1);
    g<<lung;
    return 0;
}