Đường kính của cây
Xem dạng PDF
Gửi bài giải
Điểm:
700,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một cây có ~ n ~ đỉnh, đánh số từ ~ 1 ~ đến ~ n ~.
Giữa các đỉnh có ~ n-1 ~ cạnh, mỗi cạnh nối hai đỉnh khác nhau và cây liên thông, không có chu trình.
Đường kính của cây được định nghĩa là độ dài lớn nhất (số cạnh) trên đường đi ngắn nhất giữa hai đỉnh bất kỳ trong cây.
Hãy tìm độ dài của đường kính của cây đó.
Dữ liệu
- Dòng đầu tiên: một số nguyên ~ n ~ ~(2 \le n \le 2 \times 10^5)~ — số đỉnh của cây.
- ~ n-1 ~ dòng tiếp theo, mỗi dòng gồm hai số nguyên ~ u, v ~ ~(1 \le u, v \le n, u \ne v)~, biểu diễn một cạnh nối giữa hai đỉnh ~ u ~ và ~ v ~.
Kết quả
- In ra một số nguyên duy nhất — độ dài của đường kính (tính theo số cạnh).
Giới hạn
- ~2 \le n \le 2 \times 10^5~
- Thời gian: 1 giây
- Bộ nhớ: 256 MB
Ví dụ
Ví dụ 1
Input
5
1 2
2 3
2 4
4 5
Output
3
Giải thích
Đường kính của cây là đường đi ~3 \to 2 \to 4 \to 5~, có 3 cạnh.
Ví dụ 2
Input
4
1 2
2 3
3 4
Output
3
Giải thích
Cây là một đường thẳng; đường kính là giữa đỉnh 1 và đỉnh 4, độ dài 3 cạnh.
Subtasks
| Subtask | Giới hạn |
|---|---|
| 1 | ~n \le 2000~ |
| 2 | ~n \le 2\times10^5~ |
Bình luận