Domino (lát bảng ngang/dọc)
Đề bài
Mô tả
Cho một bảng gồm hàng và cột (tích là số chẵn).
Một quân domino là hình gồm hai ô có chung một cạnh. Domino có thể nằm ngang (hai ô cạnh nhau theo chiều ngang) hoặc nằm dọc (hai ô cạnh nhau theo chiều dọc).
Bạn cần đặt quân domino lên bảng sao cho có đúng quân nằm ngang, tất cả các quân còn lại nằm dọc. Các quân domino không được chồng lên nhau và phải phủ kín toàn bộ bảng.
Nếu tồn tại cách đặt, bạn phải mô tả một cách đặt bằng cách tô màu mỗi ô bằng một chữ cái Latinh in thường, tuân theo quy tắc: với mọi hai ô có chung cạnh, chúng được tô cùng chữ cái khi và chỉ khi chúng thuộc cùng một quân domino. Nói cách khác, hai ô của cùng một quân domino phải cùng chữ cái, còn hai quân domino kề cạnh nhau phải khác chữ cái. Nếu có nhiều cách hợp lệ, in ra một cách bất kỳ.
Dữ liệu vào
- Dòng đầu chứa một số nguyên là số lượng bộ dữ liệu.
- Mỗi bộ dữ liệu gồm một dòng chứa ba số nguyên , , : số hàng, số cột và số quân domino nằm ngang cần đặt.
Dữ liệu ra
Với mỗi bộ dữ liệu:
- In ra NO nếu không thể đặt domino theo yêu cầu.
- Ngược lại, in ra YES trên một dòng riêng, sau đó in dòng, mỗi dòng gồm chữ cái Latinh in thường mô tả cách đặt domino theo quy tắc tô màu ở trên.
Ràng buộc
- là số chẵn.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 4 2 3 2 3 1 2 0 |
YES aaca bbca YES aa bb aa NO |
Bảng : hai domino ngang (aa ở hàng trên) và hai domino dọc (c, a ở hai cột cuối). Bảng : cả ba domino đều nằm ngang. Bảng : cách phủ duy nhất là một domino ngang, nhưng cần nên vô nghiệm. |
| 2 5 2 2 2 17 16 |
NO YES abbaabbaabbaabbaa accbbaabbaabbaabb |
Bảng với là vô nghiệm do ràng buộc chẵn lẻ. Bảng : domino ngang và domino dọc (cột đầu, chữ a). |
Bình luận