Treo lại chồi
Đề bài
Mô tả
Cho một cây có gốc gồm đỉnh, gốc là đỉnh . Với mỗi đỉnh khác gốc, cha của là đỉnh liền trước trên đường đi ngắn nhất từ gốc tới ; các đỉnh nhận làm cha được gọi là con của . Đỉnh không có con được gọi là lá.
Một đỉnh được gọi là chồi nếu đồng thời thoả mãn ba điều kiện:
- không phải là gốc,
- có ít nhất một con,
- mọi con của đều là lá.
Trong một thao tác, bạn được chọn một chồi và treo lại nó cùng toàn bộ các con của nó sang một đỉnh khác: xoá cạnh nối với cha của nó, rồi thêm cạnh nối với một đỉnh được chọn tuỳ ý, với điều kiện không phải là và cũng không phải con của . Tất cả các con của vẫn giữ nguyên liên kết với .
Hãy tìm số lá nhỏ nhất mà cây có thể đạt được sau khi thực hiện một số thao tác bất kỳ (có thể là không thao tác nào).
Dữ liệu vào
- Dòng đầu chứa một số nguyên : số bộ dữ liệu.
- Mỗi bộ dữ liệu bắt đầu bằng một dòng chứa số nguyên : số đỉnh của cây.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và , cho biết có cạnh nối đỉnh và đỉnh .
Dữ liệu bảo đảm đồ thị cho trong mỗi bộ dữ liệu là một cây.
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra trên một dòng số lá nhỏ nhất có thể đạt được.
Ràng buộc
- ,
- Tổng trên tất cả các bộ dữ liệu không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 7 1 2 1 3 1 4 2 5 2 6 4 7 6 1 2 1 3 2 4 2 5 3 6 2 1 2 |
2 2 1 |
Bộ 1: chọn chồi treo sang đỉnh , sau đó chọn chồi treo sang đỉnh , còn lại lá. Bộ 2: chọn chồi treo sang đỉnh , còn lại lá. Bộ 3: cây chỉ có hai đỉnh, không có chồi nào nên đáp án là . |
| 2 7 7 3 1 5 1 3 4 6 4 7 2 1 6 2 1 2 3 4 5 3 4 3 6 |
2 1 |
Bộ 1: cây là , , . Treo chồi (cùng con ) sang đỉnh , khi đó trở thành lá và trở thành chồi; treo tiếp chồi (cùng con ) sang đỉnh , còn lại hai lá là và . Bộ 2: cây là , , . Treo chồi (cùng con ) sang đỉnh , cây thành một đường đi chỉ còn đúng lá. |
Bình luận