Pagini recente » Cod sursa (job #3247368) | Cod sursa (job #1690226) | Cod sursa (job #3232844) | Cod sursa (job #1061) | Cod sursa (job #2500838)
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
ifstream fin("darb.in"); ofstream fout("darb.out");
bool k[100010];
int n;
vector<vector<int> > g;
vector<bool> v;
int m1, m0;
void dfs(int s, int m){
int p=m+1;
v[s]=true;
for(auto i=g[s].begin(); i!=g[s].end(); i++){
if(!v[*i]){
dfs(*i, p);
if(p>=m1){m0=m1; m1=p;} }
}
}
int main(){
fin>>n;
g.resize(n+5);
v.resize(n+5);
int n1, n2;
for(int i=1; i<n; i++){
fin>>n1>>n2;
k[n2]=true;
g[n1].pb(n2);
}
for(int i=1; i<=n; i++){
if(!k[i]){n2=i;}
}
dfs(n2, 1);
fout<<(m1+m0-1)<<"\n";
return 0;
}