Tô màu đồ thị
Đề bài
Mô tả
Cho một đồ thị vô hướng gồm đỉnh và cạnh, không có khuyên và không có cạnh bội. Ngoài ra bạn được cho ba số nguyên , và .
Hãy gán cho mỗi đỉnh một trong ba số , hoặc sao cho:
- Mỗi đỉnh được gán đúng một số trong .
- Số lượng đỉnh mang nhãn đúng bằng .
- Số lượng đỉnh mang nhãn đúng bằng .
- Số lượng đỉnh mang nhãn đúng bằng .
- Với mọi cạnh ta có , trong đó là nhãn của đỉnh .
Nếu tồn tại nhiều cách gán hợp lệ, in ra một cách bất kỳ.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số đỉnh và số cạnh của đồ thị.
- Dòng thứ hai chứa ba số nguyên , , . Đảm bảo .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , — một cạnh nối đỉnh và .
Dữ liệu ra
Nếu tồn tại cách gán hợp lệ, in ra YES ở dòng đầu tiên. Dòng thứ hai in một xâu độ dài gồm các ký tự , , , trong đó ký tự thứ là nhãn của đỉnh thứ .
Nếu không tồn tại cách gán hợp lệ, in ra NO.
Ràng buộc
- và
- ,
- Đồ thị không có khuyên và không có cạnh bội.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 3 2 2 2 3 1 5 4 2 5 |
YES 211323 |
Nhãn: đỉnh 1→2, 2→1, 3→1, 4→3, 5→2, 6→3. Kiểm tra các cạnh: có ; có ; có . Số nhãn 1, 2, 3 lần lượt là 2, 2, 2. Đây chỉ là một đáp án hợp lệ; các cách gán khác cũng được chấp nhận. |
| 5 9 0 2 3 1 2 1 3 1 5 2 3 2 4 2 5 3 4 3 5 4 5 |
NO | Đồ thị chứa tam giác (ví dụ ) nên không thể tô hai màu; không có cách gán thỏa mãn. |
Bình luận