Time limit: 1.0s , Memory limit: 256M , Points: 0 (partial)
Trong một đồ thị dạng cây, khoảng cách giữa hai đỉnh bất kỳ được định nghĩa là số cạnh nằm trên đường đi nối hai đỉnh đó. Đường kính của cây là khoảng cách lớn nhất trong tất cả các cặp đỉnh. Một cây được gọi là cân đối với hệ số nếu đường kính của cây đó không vượt quá .
Cho một cây gồm đỉnh (các đỉnh được đánh số từ đến ). Nhiệm vụ của bạn hãy xóa một số lượng ít nhất (có thể không xóa) các đỉnh để cây trở nên cân đối với hệ số . Khi xóa một đỉnh, các cạnh nối đỉnh đó cũng được xóa theo.
Lưu ý rằng các đỉnh và các cạnh còn lại sau khi xóa phải tạo thành một cây hợp lệ.
Input
- Dòng đầu tiên chứa hai số nguyên dương và là số lượng đỉnh của cây và hệ số cân đối (, ).
- dòng tiếp theo, dòng thứ chứa hai số nguyên và mô tả cạnh nối giữa hai đỉnh và ().
- Dữ liệu đảm bảo các cạnh nối tạo thành một cây hợp lệ.
Output
- In ra một số nguyên là số lượng ít nhất các đỉnh cần xóa để tạo thành một cây cân đối.
Examples
Sample Input 1
6 2
5 2
2 1
5 3
4 5
5 6
Sample Output 1
1
Sample Input 2
3 2
2 3
3 1
Sample Output 2
0
Scoring
- Subtask với số điểm:
- Subtask với số điểm:
Notes
Hình bên dưới mô tả cây trong ví dụ thứ nhất. Cây sau khi xóa đỉnh có đường kính là .
Ở ví dụ thứ hai, lưu ý rằng có thể không thực hiện thao tác xóa đỉnh nào.
Comments