Cộng hàng và cột
Đề bài
Mô tả
Cho một bảng gồm hàng và cột, ban đầu mọi ô đều bằng .
Một nước đi là chọn một hàng hoặc một cột, rồi cộng vào tất cả các ô thuộc hàng (hoặc cột) đó.
Sau một dãy nước đi, ô ở hàng cột phải bằng đúng . Hãy tìm dãy nước đi với số nước đi ít nhất đạt được bảng , hoặc cho biết điều đó là không thể.
Nếu có nhiều dãy nước đi tối ưu, in ra dãy bất kỳ. Thứ tự các nước đi không quan trọng vì phép cộng có tính giao hoán.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số hàng và số cột của bảng.
- dòng tiếp theo, dòng thứ chứa số nguyên .
Dữ liệu ra
Nếu không thể đạt được bảng , in ra một số .
Ngược lại, dòng đầu in ra : số nước đi ít nhất. dòng tiếp theo, mỗi dòng mô tả một nước đi theo thứ tự thực hiện:
row x(với ): chọn hàng thứ .col x(với ): chọn cột thứ .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 5 2 2 2 3 2 0 0 0 1 0 1 1 1 2 1 |
4 row 1 row 1 row 3 col 4 |
Hàng 1 được cộng 2 lần, hàng 3 được cộng 1 lần, cột 4 được cộng 1 lần. Tổng cộng 4 nước đi, và không có cách nào dùng ít hơn. Một đáp án tối ưu khác là row 1, col 4, row 1, row 3. |
| 3 3 1 1 1 1 1 1 1 1 1 |
3 row 1 row 2 row 3 |
Cộng cả ba hàng, mỗi hàng 1 lần. Ở đây nên dãy col 1, col 2, col 3 cũng tối ưu. |
| 3 3 0 0 0 0 1 0 0 0 0 |
-1 | Mỗi nước đi tạo ra ba số trên bảng , nên không thể chỉ có duy nhất một ô bằng . |
Bình luận