Pagini recente » Cod sursa (job #2108269) | Cod sursa (job #3258684) | Cod sursa (job #1382257) | Cod sursa (job #896972) | Cod sursa (job #1993576)
#include <fstream>
#include <vector>
using namespace std;
ifstream F("darb.in");
ofstream G("darb.out");
int maxx, x, y, u, w[100003], n;
vector<int> v[100003];
void dfs(int nod, int np)
{
w[nod] = w[np] + 1;
vector<int> :: iterator it;
for(it = v[nod].begin(); it != v[nod].end(); ++ it)
if(!w[*it]) dfs(*it, nod);
}
int main()
{
F >> n;
for(int i = 0; i < n - 1; ++ i)
{
F >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1, 1);
for(int i = 1; i <= n; ++ i)
{
if(w[i] > maxx) maxx = w[i], u = i;
w[i] = 0;
}
dfs(u, u);
maxx = 0;
for(int i = 1; i <= n; ++ i)
if(w[i] > maxx) maxx = w[i];
G << maxx;
return 0;
}