Cod sursa(job #2797781)

Utilizator Uriesu_IuliusUriesu Iulius Uriesu_Iulius Data 10 noiembrie 2021 16:33:34
Problema Diametrul unui arbore Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ipair pair<int, int>

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

const int mxN=1e5+1;
int n, d[mxN], ans;
vector<int> G[mxN];

void dfs(int u, int p)
{
    for(int v : G[u])
        if(v!=p)
        {
            dfs(v, u);
            ans=max(ans, d[u]+d[v]+1);
            d[u]=max(d[u], d[v]+1);
        }
}

int main()
{
    fin >> n;
    for(int i=1; i<n; i++)
    {
        int a, b;
        fin >> a >> b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    dfs(1, 0);
    fout << ans+1;
    return 0;
}