Cod sursa(job #2549236)

Utilizator xCata02Catalin Brita xCata02 Data 17 februarie 2020 14:40:40
Problema Diametrul unui arbore Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;

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

#define cin  fin
#define cout fout

#define Nmax 100005

int n;

vector < int > g[Nmax];

bitset < Nmax > viz1;
bitset < Nmax > viz2;

int lungime, x;

void DFS1(int nod)
{
    x = nod;
    viz1[nod] = 1;
    for(const auto it : g[nod])
    {
        if(viz1[it] == 0)
        {
            DFS1(it);
        }
    }
}

void DFS2(int nod)
{
    viz2[nod] = 1;
    for(const auto it : g[nod])
    {
        if(viz2[it] == 0)
        {
            DFS2(it);
        }
    }
}

int main()
{
    cin >> n;
    for(int i=1; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
        g[x].push_back(y);
        g[y].push_back(x);
    }

    DFS1(1);
    DFS2(x);

    cout << lungime - 2;


}