Pagini recente » Cod sursa (job #770949) | Cod sursa (job #453051) | Cod sursa (job #944015) | Cod sursa (job #2225567) | Cod sursa (job #2165791)
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
ifstream f ("darb.in");
ofstream g ("darb.out");
int n, depth[100005], viz[100005], i, a, b, boss, ma;
vector < int > G[100005];
void dfs ( int nod )
{
viz[nod] = 1;
if ( depth[nod] > ma )
{
ma = depth[nod];
boss = nod;
}
for ( auto i : G[nod] )
{
if ( viz[ i ] == 0 )
{
depth[ i ] = depth [ nod ] + 1;
dfs ( i );
}
}
}
int main(){
f>>n;
for ( i = 2 ; i <= n; i++ )
{
f>>a>>b;
G[a].push_back(b);
G[b].push_back(a);
}
depth[1] = 1;
viz[1] = 1;
dfs( 1 );
ma = 0;
memset( depth, 0 , sizeof(depth) );
memset( viz, 0 , sizeof(viz) );
depth[boss] = 1;
viz[boss] = 1;
dfs(boss);
g<<ma;
return 0 ;
}