Cod sursa(job #2541129)

Utilizator Vladv01Vlad Vladut Vladv01 Data 8 februarie 2020 10:03:54
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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


vector <int> g[100005];
int n,x,y,cp;
int d[100010];

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

void reset()
{
    for (int i = 1; i <= n; ++i)
        d[i] = 0;
}

void dfs(int nd,int t)
{
    d[nd] = d[t] + 1;
    if(d[cp]<d[nd])
        cp=nd;
    for (const auto& it: g[nd])
        if (!d[it])
            dfs(it, nd);
}


int main()
{
    citire();
    dfs(1,1);
    reset();
    dfs(cp, cp);
    fout<<d[cp]<<'\n';
    return 0;
}