Pagini recente » Cod sursa (job #1034283) | Cod sursa (job #712990) | Cod sursa (job #2042165) | Cod sursa (job #1711856) | Cod sursa (job #1098263)
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#define NMAX 100005
#define pb push_back
using namespace std;
typedef vector < int > ::iterator IT ;
ifstream in ( "darb.in" );
ofstream out ( "darb.out" );
vector < int > G[NMAX];
int N , M , Answer , max_Level , max_Node;
bool used[NMAX];
void DepthFirstSearch ( int node , int level )
{
if ( level > max_Level )
{
max_Level = level ;
max_Node = node;
}
used[node] = true ;
for ( IT it = G[node].begin() ; it != G[node].end() ; ++it )
if ( !used[ *it ] )
DepthFirstSearch ( *it , level + 1 );
}
int main ( void )
{
int i , j ;
in >> N ;
for ( i = 1 ; i < N ; ++i )
{
int x , y ;
in >> x >> y ;
G[x].pb(y);
G[y].pb(x);
}
DepthFirstSearch ( 1 , 1 );
max_Level = 0 ;
memset ( used , 0 , sizeof ( used) ) ;
DepthFirstSearch( max_Node , 1 );
out << max_Level << "\n";
in.close();
out.close();
return 0;
}