Pagini recente » Cod sursa (job #2079761) | Profil Djok | Cod sursa (job #2854690) | Cod sursa (job #2236997) | Cod sursa (job #1096031)
#include<fstream>
#include<vector>
#include<string>
using namespace std;
#define max_n 100010
ifstream f("darb.in");
ofstream g("darb.out");
int n , a , b , niv_max , nod_max;
int Fr[max_n];
vector<int> L[max_n];
void read(){
f>>n;
for( int i = 1 ; i < n ; i++ ){
f>>a>>b;
L[a].push_back(b);
L[b].push_back(a);
}
}
void dfs( int nod , int niv ){
if( niv > niv_max ){
nod_max = nod;
niv_max = niv;
}
Fr[nod] = 1;
for( unsigned int i = 0 ; i < L[nod].size() ; i++ )
if( Fr[L[nod][i]] == 0 )
dfs( L[nod][i] , niv + 1 );
}
int main(){
read();
dfs( rand() % n + 1 , 1);
memset( Fr , 0 , sizeof(Fr) );
dfs( nod_max , 1 );
g<<niv_max<<"\n";
return 0;
}