Pagini recente » Istoria paginii runda/girls/clasament | Cod sursa (job #2531282) | Cod sursa (job #2561095) | Cod sursa (job #2554405) | Cod sursa (job #2982199)
#include <bits/stdc++.h>
using namespace std;
string np = "darb";
ifstream f(np + ".in");
ofstream g(np + ".out");
// #define f cin
// #define g cout
int n, t, d[100003] = {0, 1}, k = 1, rez = 1;
vector<int> adj[100003];
void dfs1(int nod)
{
for (auto next : adj[nod])
if (!d[next])
{
d[next] = d[nod] + 1;
if (d[next] > d[k])
k = next;
dfs1(next);
}
}
void dfs2(int nod)
{
for (auto next : adj[nod])
if (!d[next])
d[next] = d[nod] + 1, rez = max(rez, d[next]),
dfs2(next);
}
int main()
{
f >> n;
for (int x, y, i = 1; i < n; i++)
f >> x >> y, adj[x].emplace_back(y), adj[y].emplace_back(x);
dfs1(1);
memset(d, 0, sizeof d);
d[k] = 1;
dfs2(k);
g << rez;
return 0;
}