Pagini recente » Cod sursa (job #2500550) | Cod sursa (job #1759235) | Cod sursa (job #1914701) | Cod sursa (job #2063820) | Cod sursa (job #3251556)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
vector <int> g[100005];
int used[100005];
int last_nod=0, maxi_dist=0;
void dfs (int nod) {
for (int vecin : g[nod]) {
if (!used[vecin]) {
used[vecin]=used[nod]+1;
if (used[vecin]>maxi_dist) {
maxi_dist=used[vecin];
last_nod=vecin;
}
dfs(vecin);
}
}
}
int main()
{
fin.tie(0); fin.sync_with_stdio(false);
int n, x, y; fin>>n;
for (int i=1; i<n; i++) {
fin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
used[1]=1;
dfs(1);
for (int i=1; i<=n; i++) used[i]=0;
//cout<<last_nod<<' ';
used[last_nod]=1;
dfs(last_nod);
//cout<<last_nod;
fout<<maxi_dist;
return 0;
}