Cod sursa(job #2210778)

Utilizator unknownpersonBidasca Carina Georgiana unknownperson Data 7 iunie 2018 21:39:19
Problema Diametrul unui arbore Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f( "darb.in");
ofstream g( "darb.out");
const int N= 100000;
vector< int > v[N];
bool viz[N];
int ans,n;

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

void dfs( int nod, int dist ) {
    if ( dist > ans )
        ans = dist;

    viz[nod] = true;
    for ( vector< int >::iterator it = v[nod].begin(); it != v[nod].end(); ++it )
        if ( !viz[*it] )
            dfs( *it, dist + 1 );
    viz[nod] = false;
}

int main()
{
    citire();
    for ( int i = 0; i < n; ++i )
        dfs( i, 0 );
    g<<ans;
    return 0;
}