Pagini recente » Cod sursa (job #29878) | Cod sursa (job #918049) | Cod sursa (job #1158303) | Cod sursa (job #944694) | Cod sursa (job #3280659)
// Author: Tanasescu Andrei-Rares
/*
█████╗ ██████╗ ████████╗
██╔══██╗ ██╔══██╗╚══██╔══╝
███████║ ██████╔╝ ██║
██╔══██║ ██╔══██╗ ██║
██║ ██║ ██║ ██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
*/
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
#include <stack>
#include <deque>
#include <iomanip>
#include <vector>
#include <cassert>
#pragma GCC optimize("O3")
#define fi first
#define se second
#define pb push_back
#define pf push_front
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const ll Nmax=1e5+5, inf=1e9+5;
int n;
vector<int> ad[Nmax];
pii dfs(int node, int p, int h){
pii mx={h, node};
for (auto it:ad[node])
if (it!=p)
mx=max(mx, dfs(it, node, h+1));
return mx;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
fin>>n;
for (int i=1; i<n; i++){
int a, b;
fin>>a>>b;
ad[a].pb(b);
ad[b].pb(a);
}
int node=dfs(1, 0, 1).se;
fout<<dfs(node, 0, 1).fi;
return 0;
}