Pagini recente » Cod sursa (job #1500352) | Cod sursa (job #2814061) | Cod sursa (job #3240356) | Cod sursa (job #2768425) | Cod sursa (job #3291530)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n, x, y, len, last_visited_node, maximum = -1;
int f[100005];
vector <int> L[100005];
void dfs (int node, int len) {
f[node] = 1;
for (auto it : L[node]){
if (f[it] == 0) {
dfs(it, len + 1);
}
}
if (len > maximum) {
maximum = len;
last_visited_node = node;
}
}
int main(){
fin >> n;
for (int i=0; i<n-1; i++){
fin >> x >> y;
L[x].push_back(y);
L[y].push_back(x);
}
dfs(1, 0);
for (int i=0; i<n; i++){
f[i] = 0;
}
dfs(last_visited_node, 1);
fout << maximum;
return 0;
}