Tô màu kem
Đề bài
Mô tả
Cho một cây gồm đỉnh và loại kem được đánh số từ đến . Đỉnh thứ của cây chứa một tập gồm loại kem đôi một khác nhau.
Dữ liệu đảm bảo: với mỗi loại kem , tập các đỉnh của có chứa loại kem tạo thành một đồ thị con liên thông của (tập rỗng cũng được coi là liên thông).
Từ cây , ta dựng đồ thị gồm đỉnh, mỗi đỉnh ứng với một loại kem. Trong có cạnh nối đỉnh và đỉnh () khi và chỉ khi tồn tại ít nhất một đỉnh của chứa đồng thời cả loại kem và loại kem .
Hãy tô màu tất cả các đỉnh của sao cho hai đỉnh kề nhau luôn được tô hai màu khác nhau, và số màu được dùng là ít nhất có thể.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số đỉnh của cây và số loại kem.
- dòng tiếp theo, dòng thứ bắt đầu bằng số nguyên , sau đó là số nguyên đôi một khác nhau trong đoạn — các loại kem có ở đỉnh .
- dòng cuối, mỗi dòng chứa hai số nguyên và — một cạnh của cây .
Dữ liệu ra
- Dòng đầu in ra số nguyên — số màu ít nhất cần dùng.
- Dòng thứ hai in ra số nguyên, số thứ là màu của đỉnh trong , mỗi màu nằm trong đoạn .
Nếu có nhiều cách tô thoả mãn, in ra một cách bất kỳ.
Ràng buộc
- và tổng tất cả không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 1 1 2 2 3 1 2 1 2 2 3 |
2 1 1 2 |
Loại kem chỉ có ở đỉnh nên không kề với loại nào, tô màu nào cũng được. Loại và loại cùng có mặt ở đỉnh nên phải khác màu. Vậy cần màu. |
| 4 5 0 1 1 1 3 3 2 4 5 2 1 3 2 4 3 |
3 1 1 1 2 3 |
Đỉnh chứa ba loại nên ba loại này đôi một kề nhau, bắt buộc phải dùng ít nhất màu. Loại và loại không kề với bất cứ loại nào nên dùng lại màu . |
Bình luận