Bảng màu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Alice có một bảng màu kích thước \(m \times n\), các hàng được đánh số từ \(1\) đến \(m\) theo chiều từ trên xuống, các hàng được đánh số từ \(1\) đến \(n\) theo chiều từ trái qua phải. Ô nằm giao giữa hàng \(i\) (\(1 \le i \le m\)) và cột \(j\) (\(1 \le j \le n\)) gọi là ô \((i,j)\). Ban đầu, toàn bộ bảng là màu trắng (màu \(0\)), Alice thực hiện \(k\) thao tác tô màu như sau:

  • Chọn một hình chữ nhật nằm trong bảng chiếm nguyên các ô và một màu \(c\) (\(1 \le c \le 30\)).
  • Tô đè tất cả các ô trong hình chữ nhật vừa chọn thành màu \(c\).

Sau khi thực hiện \(k\) thao tác, Alice nhận được một bảng màu. Bob cũng muốn tạo ra bảng màu giống như ALice nhưng không biết các thao tác mà Alice đã thực hiện. Điều này không dễ thực hiện được, nên Bob mong muốn sử dụng không quá \(k\) thao tác để nhận được bảng màu càng giống với bảng màu của Alice càng tốt.

Yêu cầu: Cho bảng màu của Alice và số nguyên dương \(k\), hãy giúp Bob tìm ra dãy không quá \(k\) thao tác để nhận được bảng màu càng giống bảng màu của Alice càng tốt.

Input

  • Dòng đầu tiên gồm ba số nguyên \(m,n,k\) (\(k \le 100\)).
  • Dòng thứ \(i\) (\(1 \le i \le m\)) trong \(m\) dòng sau chứa số nguyên \(a_{i,1},a_{i,2},...,a_{i,n}\) mô tả màu trên hàng \(i\) của bảng màu Alice.

Output

  • Dòng đầu chứa số nguyên không âm \(h\) (\(h \le k\)).
  • Dòng thứ \(s\) (\(1 \le s \le h\)) chứa năm số nguyên \(x_s,y_s,u_s,v_s,c_s\) trong đó \((x_s,y_s)\)\((u_s,v_s)\) tương ứng là ô góc trái trên và ô góc phải dưới của hình chữ nhật được chọn ở thao tác tô màu thứ \(s\), \(c_s\) là màu sẽ tô cho hình chữ nhật đó.

Scoring

  • \(20\) test, mỗi test \(5.0\) điểm. Gọi \(d\) là số ô trong bảng màu xây dựng được giống với của Alice, khi đó số điểm bạn đạt được cho mỗi test là \(5.0 \times (\frac{d}{m \times n})^5\).
  • Subtask \(1\) (\(30\%\) số điểm): \(m,n,k \le 5\).
  • Subtask \(2\) (\(50\%\) số điểm): \(m,n \le 50\).
  • Subtask \(3\) (\(20\%\) số điểm): \(m,n \le 500\).

Example

Test 1

Input
3 3 2
2 2 0
2 2 1
0 1 1
Output
2
1 1 2 2 2
2 2 3 3 1

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.