Cod sursa(job #1098272)

Utilizator superman_01Avramescu Cristian superman_01 Data 4 februarie 2014 18:09:16
Problema Problema Damelor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#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;
		
}