Pagini recente » Cod sursa (job #2481861) | Cod sursa (job #2964281) | Cod sursa (job #1530343) | Clasament monthly-2014-runda-9 | Cod sursa (job #2498144)
#include <bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
const int nmax = 100005;
bool fv[nmax];
int dis[nmax];
vector <int> vec[nmax];
void dfs(int nod, int &ans)
{
fv[nod] = 1;
for (auto el : vec[nod])
if (!fv[el])
{
dis[el] = dis[nod] + 1;
if (dis[ans] < dis[el])
ans = el;
dfs(el, ans);
}
}
int main()
{
int n;
f >> n;
for (int i = 1; i < n; ++ i)
{
int x, y;
f >> x >> y;
vec[x].push_back(y);
vec[y].push_back(x);
}
int ans = 0;
dfs(1, ans);
memset(fv, 0, sizeof(fv));
int firstNode = ans;
dis[firstNode] = 0;
ans = 0;
dfs(firstNode, ans);
g << dis[ans] + 1;
}