Cod sursa(job #2525460)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 17 ianuarie 2020 13:32:52
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,dist[100009],rasp,ma;

vector <int> fii[100009];

///-----------------------------
void dfs(int nod, int par)
{
    for(auto it: fii[nod])
    {
        if(it!=par)
        {
            dist[it]=dist[nod]+1;
            dfs(it, nod);
        }
    }
    if(dist[nod]>ma)
    {
        ma=dist[nod];
        rasp=nod;
    }
}
///-----------------------------
int main()
{
    f>>n;
    for(int i=1;i<=n-1;i++)
    {
        int a,b;
        f>>a>>b;
        fii[a].push_back(b);
        fii[b].push_back(a);
    }
    dfs(1,0);
    ma=0;
    for(int i=1;i<=n;i++) dist[i]=0;
    dfs(rasp, 0);
    g<<ma+1;
    return 0;
}