Cộng hàng và cột

Đề bài

Mô tả

Cho một bảng gồm N hàng và M cột, ban đầu mọi ô đều bằng 0.

Một nước đi là chọn một hàng hoặc một cột, rồi cộng 1 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 i cột j phải bằng đúng gi,j. Hãy tìm dãy nước đi với số nước đi ít nhất đạt được bảng g, 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 N và M: số hàng và số cột của bảng.
  • N dòng tiếp theo, dòng thứ i chứa M số nguyên gi,1,gi,2,…,gi,M.

Dữ liệu ra

Nếu không thể đạt được bảng g, in ra một số −1.

Ngược lại, dòng đầu in ra K: số nước đi ít nhất. K 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 1≤x≤N): chọn hàng thứ x.
  • col x (với 1≤x≤M): chọn cột thứ x.

Ràng buộc

  • 1≤N,M≤100
  • 0≤gi,j≤500

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=M 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ố 1 trên bảng 3×3, nên không thể chỉ có duy nhất một ô bằng 1.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0