Pagini recente » Cod sursa (job #3037810) | Cod sursa (job #1878424) | Cod sursa (job #1674733) | Cod sursa (job #1107539) | Cod sursa (job #2056354)
# include <bits/stdc++.h>
using namespace std;
const int Nmax = 1e5 + 5;
vector <int> G[Nmax];
int n, distM, nodeM;
void read()
{
for (int i = 1; i <= n; ++i)
{
int x, y;
scanf("%d %d\n", &x, &y);
G[x].push_back(y);
G[y].push_back(x);
}
}
int dfs(int node, int dad, int dist)
{
for (auto &it: G[node])
{
if (it == dad) continue;
dfs(it, node, dist + 1);
}
if (dist > distM) distM = dist, nodeM = node;
}
int compute()
{
distM = 0;
dfs(1, 0, 0);
dfs(nodeM, 0, 0);
return distM + 1;
}
int main ()
{
freopen("darb.in", "r", stdin);
freopen("darb.out", "w", stdout);
scanf("%d\n", &n);
read();
printf("%d\n", compute());
return 0;
}