Pagini recente » Cod sursa (job #994083) | pisici | Cod sursa (job #2886514) | Profil mihaipriboi | Cod sursa (job #2164069)
#include <bits/stdc++.h>
using namespace std;
#define _ ios_base::sync_with_stdio(false);cout.precision(30);cout.tie(0);cin.tie(0);
#define ll long long
#define ld long double
#define rep(i, a, b) for(__typeof(b)i=(a)-((a)>(b));i!=(b)-((a)>(b));i+=1-2*((a)>(b)))
#define whilet() ll t;cin>>t;while(t--)
#define all(c) (c).begin(), (c).end()
ifstream fi("darb.in");
ofstream fo("darb.out");
ll n,x,y,vis[100001], d1, n1, d2, n2;
vector<ll> G[100001];
void dfs(ll node, ll dist, ll &d, ll &n) {
if (dist > d) d = dist, n = node;
for (auto x:G[node]) {
if (!vis[x]) {
vis[x] = 1;
dfs(x, dist+1, d, n);
}
}
}
int main() {_
fi >> n;
rep(i,0,n) {
fi >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
vis[1] = 1;
dfs(1, 1, d1, n1);
memset(vis, 0, sizeof(vis));
vis[n1] = 1;
dfs(n1, 1, d2, n2);
fo << d2;
return 0;
}