trang chủ / bài tập / flowgrid

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 n hàng và m 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 a, b, c, d. 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 a, loại B đúng bằng b, loại C đúng bằng c, và loại D đúng bằng d.

Bạn được tự chọn kích thước nm (không cho trong dữ liệu vào), miễn là 1n,m50. 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 a, b, c, d 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 nm (1n,m50): số hàng và số cột của lưới.

Tiếp theo in n dòng, mỗi dòng gồm 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

  • 1a,b,c,d100

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

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0