Pagini recente » Cod sursa (job #309766) | Cod sursa (job #1435356) | Cod sursa (job #1811071) | Cod sursa (job #3186646) | Cod sursa (job #2571251)
#include <fstream>
#include <vector>
using namespace std;
const int NMAX = 1e5 + 5;
ifstream cin("darb.in");
ofstream cout("darb.out");
vector <int> g[NMAX];
int st = 0;
int maxim = -1;
void dfs(int node, int father, int d)
{
if(d > maxim) {
maxim = d;
st = node;
}
for(auto x: g[node]) {
if(x != father) {
dfs(x, node, d + 1);
}
}
}
int main()
{
int n;
cin >> n;
for(int i = 1; i < n; ++i) {
int x, y;
cin >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1, -1, 0);
maxim = -1;
dfs(st, -1, 1);
cout << maxim << "\n";
return 0;
}