Pagini recente » Cod sursa (job #2972187) | Cod sursa (job #1450730) | Cod sursa (job #1395052) | Cod sursa (job #122072) | Cod sursa (job #2611741)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const int N = 100041;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n;
vector<int> gra[N];
void read(){
fin >> n;
for(int i = 0; i < n; ++i){
int a, b;
fin >> a >> b;
gra[a].push_back(b);
gra[b].push_back(a);
}
}
int ans=0;
int vi[N], di[N];
int parkour(int k, int a=1, int d=0){
int r = a;
vi[a] = k;
di[a] = d;
for(auto b : gra[a]){
if(vi[b] != k){
int v = parkour(k, b, d+1);
if(di[v] > di[r]){
r = v;
}
}
}
return r;
}
int main(){
// ios_base::sync_with_stdio(false);
read();
fout << di[parkour(2, parkour(1))]+1;
return 0;
}