Pagini recente » Cod sursa (job #3246053) | Cod sursa (job #1999120) | Cod sursa (job #2723069) | Cod sursa (job #2427861) | Cod sursa (job #2673651)
#include <fstream>
#define fisier "darb"
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
const int N = 100000;
#include <vector>
std::vector<int> L[N];
int s, n, maxD, D[N];
void dfs(int t)
{
for (int f: L[t])
if (not D[f] and f != s)
{
D[f] = D[t] + 1;
if (maxD < D[f])
maxD = D[f], n = f;
dfs(f);
}
}
#include <algorithm>
int main()
{
in >> n;
while (--n)
{
int a, b;
in >> a >> b;
L[--a].push_back(--b);
L[b].push_back(a);
}
dfs(0);
std::fill(D, D + N, 0);
s = n;
dfs(n);
out << maxD + 1;
}