Nhà hàng IT
Đề bài
Mô tả
Thành phố có ngã tư được nối với nhau bởi con đường hai chiều tạo thành một cây (đồ thị vô hướng, liên thông, không có chu trình).
Người ta muốn xây các nhà hàng của hai chuỗi khác nhau — gọi là chuỗi và chuỗi — tại các ngã tư. Việc xây phải thỏa mãn:
- Mỗi ngã tư có nhiều nhất một nhà hàng.
- Mỗi nhà hàng thuộc đúng một trong hai chuỗi hoặc .
- Cả hai chuỗi và đều phải có ít nhất một nhà hàng.
- Không tồn tại hai ngã tư kề nhau (nối trực tiếp bằng một con đường) mà lại chứa nhà hàng của hai chuỗi khác nhau.
Gọi là số nhà hàng của chuỗi và là số nhà hàng của chuỗi . Cần chọn cách xây sao cho đạt giá trị lớn nhất có thể.
Hãy tìm tất cả các cặp hợp lệ đạt được tổng lớn nhất, và in ra theo thứ tự tăng dần của .
Dữ liệu vào
- Dòng đầu chứa số nguyên — số ngã tư.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên () mô tả một con đường nối hai ngã tư và .
Dữ liệu bảo đảm đồ thị được cho là một cây có đỉnh.
Dữ liệu ra
- Dòng đầu in số nguyên — số cặp tìm được.
- dòng tiếp theo, mỗi dòng in hai số và theo thứ tự tăng dần.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 1 2 2 3 3 4 4 5 |
3 1 3 2 2 3 1 |
Cây là đường thẳng . Một trong các cách đạt : đặt tại ngã tư ; đặt tại ngã tư ; ngã tư để trống. |
| 10 1 2 2 3 3 4 5 6 6 7 7 4 8 9 9 10 10 4 |
6 1 8 2 7 3 6 6 3 7 2 8 1 |
Đỉnh là gốc của ba nhánh dài : , , . Có thể đặt trên trọn một nhánh (3 đỉnh) và trên trọn hai nhánh còn lại (6 đỉnh) — nếu để trống, không có cặp đỉnh kề khác chuỗi. |
Bình luận