Cho gà ăn
Đề bài
Mô tả
Một nông trại được mô tả bằng lưới chữ nhật gồm hàng và cột. Mỗi ô của lưới hoặc chứa thóc (ký hiệu bằng chữ R) hoặc để trống (ký hiệu bằng dấu .).
Trên nông trại có con gà. Bạn cần chia toàn bộ các ô của lưới cho con gà sao cho:
- Mỗi ô được giao cho đúng một con gà.
- Mỗi con gà được giao ít nhất một ô.
- Tập các ô của mỗi con gà tạo thành một vùng liên thông: từ một ô bất kỳ của con gà đó có thể đi tới mọi ô khác của nó bằng cách di chuyển giữa hai ô kề cạnh và chỉ đi qua các ô thuộc chính con gà đó.
Để đàn gà không tranh giành thức ăn, hãy chia sao cho hiệu giữa số ô thóc nhiều nhất và số ô thóc ít nhất mà một con gà nhận được là nhỏ nhất có thể.
Dữ liệu vào
Dòng đầu chứa số nguyên : số bộ dữ liệu.
Mỗi bộ dữ liệu gồm:
- Dòng đầu chứa ba số nguyên , , .
- dòng tiếp theo, mỗi dòng chứa ký tự
.hoặcR, mô tả lưới.
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra dòng, mỗi dòng gồm ký tự. Mỗi ký tự phải là chữ cái thường, chữ cái hoa hoặc chữ số. Hai ký tự bằng nhau khi và chỉ khi hai ô tương ứng được giao cho cùng một con gà. Chữ hoa và chữ thường được coi là khác nhau, nên A và a là hai con gà khác nhau.
Nếu có nhiều cách chia tối ưu, in ra cách bất kỳ.
Ràng buộc
- Số con gà không vượt quá số ô chứa thóc của lưới.
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 5 3 ..R.. ...R. ....R 6 4 6 R..R R..R RRRR RRRR R..R R..R 5 5 4 RRR.. R.R.. RRR.. R..R. R...R 2 31 62 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR |
00000 11110 11112 0000 1000 1122 3332 4444 5555 00000 11100 12222 32222 33333 0123456789abcdefghijklmnopqrstu ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwv |
Bộ 1: lưới có 3 ô thóc, mỗi con gà nhận đúng 1 ô thóc nên hiệu bằng 0. Bộ 2: có 16 ô thóc chia cho 6 con gà, bốn con nhận 3 ô thóc và hai con nhận 2 ô thóc, hiệu bằng 1. Bộ 4: có đúng 62 ô thóc và 62 con gà nên mỗi con gà nhận đúng một ô. Đây chỉ là một trong nhiều đáp án tối ưu. |
| 3 2 6 3 RRRRRR RRRRRR 1 5 3 RRRRR 2 9 3 .R..R..R. .R..R..R. |
000011 222211 00112 000000011 222221111 |
Bộ 1: 12 ô thóc chia đều cho 3 con gà, mỗi con 4 ô, hiệu bằng 0. Bộ 2: 5 ô thóc chia cho 3 con gà nên bắt buộc có con nhận 2 ô và con nhận 1 ô, hiệu bằng 1. Bộ 3: 6 ô thóc chia đều, mỗi con gà nhận 2 ô thóc, nhưng vùng của chúng phải liên thông nên các ô trống cũng được gộp vào. |
Bình luận