Pagini recente » Cod sursa (job #46082) | Cod sursa (job #1041678) | Cod sursa (job #1891801) | Cod sursa (job #2619878) | Cod sursa (job #2919365)
#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
const int MAX_N = 100005;
int n, x, y, far, maxx;
vector <int> edge[MAX_N];
bool viz[MAX_N];
void dfs(int crt, int len){
if(len > maxx){
maxx = len;
far = crt;
}
if(len == 1)
for(int i=1; i<=n; i++)
viz[i] = false;
viz[crt] = true;
for(auto nxt : edge[crt])
if(viz[nxt] == false)
dfs(nxt, len+1);
}
int main (){
ios_base::sync_with_stdio(false);
fin.tie(nullptr), fout.tie(nullptr);
fin>>n;
for(int i=1; i<=n; i++){
fin>>x>>y;
edge[x].push_back(y);
edge[y].push_back(x);
}
dfs(1, 1);
dfs(far, 1);
fout<<maxx;
return 0;
}