Pagini recente » Cod sursa (job #2300065) | Cod sursa (job #2903342) | Cod sursa (job #2897467) | Cod sursa (job #1591357) | Cod sursa (job #2677476)
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
ifstream in ("darb.in");
ofstream out ("darb.out");
void dfs ( int nod );
int n;
int sorin;
int x, y;
vector < int > v[100137];
int viz[100137];
int mx;
int main()
{
in >> n;
for ( int i = 1 ; i <= n ; ++i )
{
in >> x >> y;
v[x].push_back (y);
v[y].push_back (x);
}
viz[1] = 1;
dfs (1);
memset ( viz, 0, sizeof (viz) );
viz[sorin] = 1;
dfs (sorin);
out << mx;
return 0;
}
void dfs ( int nod )
{
for ( auto i : v[nod] )
if ( !viz[i] )
{
viz[i] = viz[nod] + 1;
if ( mx < viz[i] )
{
mx = viz[i];
sorin = i;
}
dfs (i);
}
}