Pagini recente » Cod sursa (job #1640334) | Cod sursa (job #1526052) | Cod sursa (job #2012659) | Cod sursa (job #4667) | Cod sursa (job #2632247)
#include <bits/stdc++.h>
using namespace std;
ifstream ci("darb.in");
ofstream cou("darb.out");
int n;
vector<int>v[100005];
int dp[100005];
int sol;
void citire(){
ci>>n;
int a,b;
for(int i=1;i<=n;i++){
ci>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
}
void Dfs(int nod,int provine){
int mx=0,mx1=0;
for(auto i:v[nod]){
if(i!=provine){
Dfs(i,nod);
if(dp[i]>mx){
mx1=mx;
mx=dp[i];
}else
if(dp[i]>mx1){
mx1=dp[i];
}
}
}
dp[nod]=mx+1;
sol=max(sol,mx+mx1+1);
}
int main()
{
citire();
Dfs(1,0);
cou<<sol;
return 0;
}