Cod sursa(job #3346692)

Utilizator CarenaMironov Cezar Luca Carena Data 15 martie 2026 08:57:51
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>

using namespace std;

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

const int NMAX=1e5+5;
int n, maxd, maxu;
vector<int> adj[NMAX];

void DFS(int u, int pu, int d)
{
    if(d>maxd)
    {
        maxd=d;
        maxu=u;
    }
    for(auto v:adj[u])
    {
        if(v==pu)
            continue;
        DFS(v, u, d+1);
    }
}

int main()
{
    in>>n;
    for(int i=1;i<n;i++)
    {
        int a, b; in>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    DFS(1, 0, 1);
    maxd=0;
    DFS(maxu, 0, 1);
    out<<maxd;
    return 0;
}