Cod sursa(job #2801121)

Utilizator Maniu_DianaManiu Maria Diana Maniu_Diana Data 14 noiembrie 2021 23:24:19
Problema Diametrul unui arbore Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

///parcurgere in latime

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

const int NMAX = 100005;

int n, ans;
bool vis[NMAX];

vector < int > L[NMAX];

void read()
{
    int x, y;
    fin >> n;
    for(int i = 1; i < n; i ++)
    {
        fin >> x >> y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
}

void dfs(int nod, int dist)
{
    if(dist > ans)
        ans = dist;
    vis[nod] = true;

    for(auto it : L[nod])
    {
        if(vis[it] == 0)
            dfs(it, dist + 1);
    }
    vis[nod] = false;
}

void solve()
{
    for(int i = 0; i < n; i ++)
        dfs(i, 0);
    fout << ans + 1;
}

int main()
{
    read();
    solve();
    return 0;
}