Pagini recente » Cod sursa (job #1809198) | Cod sursa (job #2664128) | Cod sursa (job #707409) | Cod sursa (job #452628) | Cod sursa (job #2322558)
#include <bits/stdc++.h>
#define pb push_back
#define sz size()
using namespace std ;
const int NR = 100001 ;
ifstream f ("darb.in") ;
ofstream g ("darb.out") ;
vector < int > v [ NR ] ;
int level [ NR ] , last ;
int bfs ( int nod )
{
vector < bool > viz ( NR , false ) ;
deque < int > q ;
q.pb ( nod ) ;
viz [ nod ] = true ;
while ( !q.empty() )
{
nod = q.front() ;
for ( size_t i = 0 ; i < v [ nod ].sz ; i ++ )
{
if ( !viz [ v[ nod ][ i ] ] ) q.pb ( v [ nod ][ i ] ) , viz [ v [ nod ][ i ] ] = true , level [ v[ nod ][ i ] ] = level [ nod ] + 1 , last = v[ nod ][ i ] ;
}
q.pop_front() ;
}
}
int main ()
{
int n ; f >> n ;
for ( int i = 1 ; i < n ; ++ i ) { int x , y ; f >> x >> y ; v [ x ].pb ( y ) , v [ y ].pb ( x ) ; }
bfs ( 1 ) ;
level [ last ] = 1 ;
bfs ( last ) ;
return g << level [ last ] , 0 ;
}