Khu vườn hoa
Đề bài
Mô tả
Có bốn loại hoa, ký hiệu bằng bốn chữ cái in hoa A, B, C và D.
Bạn cần thiết kế một khu vườn dạng lưới chữ nhật gồm hàng và cột. Mỗi ô của lưới chứa đúng một loại hoa (một trong bốn chữ cái A, B, C, D).
Hai ô được coi là thuộc cùng một thành phần liên thông nếu tồn tại một đường đi giữa chúng, di chuyển qua các ô kề cạnh (chung một cạnh) và chỉ đi qua những ô chứa cùng một loại hoa.
Cho bốn số nguyên , , , . Hãy xây dựng một lưới sao cho số thành phần liên thông tạo bởi các ô loại A đúng bằng , loại B đúng bằng , loại C đúng bằng , và loại D đúng bằng .
Bạn được tự chọn kích thước và (không cho trong dữ liệu vào), miễn là . Bài toán luôn có nghiệm dưới các ràng buộc đã cho. Nếu có nhiều đáp án, in ra bất kỳ đáp án hợp lệ nào.
Dữ liệu vào
Một dòng duy nhất chứa bốn số nguyên , , , cách nhau bởi dấu cách: số thành phần liên thông yêu cầu cho lần lượt các loại hoa A, B, C, D.
Dữ liệu ra
Dòng đầu in hai số nguyên và (): số hàng và số cột của lưới.
Tiếp theo in dòng, mỗi dòng gồm ký tự liền nhau thuộc {A, B, C, D}, mô tả một hàng của lưới.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 2 1 | 4 7 DDDDDDD DABACAD DBABACD DDDDDDD |
Mỗi ô A, B, C nằm riêng lẻ tạo thành một thành phần, còn tất cả ô D nối liền thành một thành phần. Số thành phần: A=5, B=3, C=2, D=1. |
| 1 1 1 1 | 2 2 AB CD |
Mỗi loại hoa xuất hiện đúng một ô, tạo đúng một thành phần liên thông. |
Lưu ý: hai ví dụ trên chỉ là một trong nhiều đáp án hợp lệ. Bài được chấm bằng trình chấm đặc biệt: mọi lưới có kích thước hợp lệ và số thành phần liên thông đúng với yêu cầu đều được chấp nhận.
Bình luận