Pagini recente » Cod sursa (job #680738) | Cod sursa (job #2533997) | Cod sursa (job #2627990) | Cod sursa (job #2092883) | Cod sursa (job #2092325)
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream F("darb.in");
ofstream G("darb.out");
int x, y, n, m, maxx, d[100005];
vector<int> a[100005];
void dfs(int x, int t)
{
d[x] = d[t] + 1;
vector<int> :: iterator it;
for(it = a[x].begin(); it != a[x].end(); ++ it)
if( !d[*it] ) dfs(*it, x);
}
int main()
{
F >> n;
for( int i = 1; i < n; ++ i )
{
F >> x >> y; a[x].push_back(y); a[y].push_back(x);
}
dfs(1, 1);
for( int i = 1; i <= n; ++ i )
{
if( d[i] > maxx ) maxx = d[i], m = i;
d[i] = 0;
}
dfs(m, m);
maxx = -1;
for( int i = 1; i <= n; ++ i )
if( d[i] > maxx ) maxx = d[i];
G << maxx;
return 0;
}