Pagini recente » Cod sursa (job #3278943) | Cod sursa (job #1330119) | Cod sursa (job #660419) | Cod sursa (job #165987) | Cod sursa (job #2095576)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
#define MAX 100005
int n, a, b, maxim, nmax;
vector<int> g[MAX];
void dfs(int nod, int tata, int h)
{
if(h > maxim)
{
nmax = nod;
maxim = h;
}
for(int i = 0; i < g[nod].size(); ++i)
{
if(g[nod][i] != tata)
{
dfs(g[nod][i], nod, h + 1);
}
}
}
int main()
{
cin >> n;
for(int i = 1; i <= n - 1; ++i)
{
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
maxim = 0;
dfs(1, -1, 1);
int nodmax = nmax;
maxim = 0;
dfs(nodmax, -1, 1);
cout << maxim << '\n';
return 0;
}