Pagini recente » Cod sursa (job #254368) | Cod sursa (job #2394465) | Cod sursa (job #2349985) | Cod sursa (job #3204965) | Cod sursa (job #1632534)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int N_MAX = 1e5;
int N;
vector<int> G[N_MAX + 5];
pair<int, int> last;
void read()
{
fin >> N;
for(int i = 1; i <= N; ++i)
{
int x, y;
fin >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void DFS(int node, int padre, int level)
{
last = max(last, make_pair(level, node));
for(int son : G[node])
{
if(son != padre)
DFS(son, node, level + 1);
}
}
void solve()
{
DFS(1, 0, 1);
int start = last.second;
last = make_pair(0, 0);
DFS(start, 0, 1);
fout << last.first << '\n';
}
int main()
{
read();
solve();
return 0;
}