Bài 3. Bức tranh

Xem dưới dạng PDF

Gửi bài giải

Điểm: 90
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

Tác giả:
Kiểu bài tập

Hạo, sau khi trở nên cực kỳ giỏi lập trình thi đấu, quyết định tìm một sở thích mới để giải trí trong khi chờ bạn bắt kịp. Trong khi bạn đang giải các bài toán trước, Hạo phát hiện ra tình yêu lớn với hội họa.

Anh ấy lấy một tấm vải trắng và hai màu, đỏ và xanh. Anh bắt đầu vẽ những nét hoàn toàn ngang và dọc trên tấm vải, từ một cạnh sang cạnh đối diện. Tấm vải có thể được tưởng tượng như một lưới \(n \times n\), trong đó các hàng và cột được đánh số từ \(1\) đến \(n\), và ban đầu hoàn toàn màu trắng. Mỗi nét vẽ của Hạo có thể được tưởng tượng như việc chọn một trong hai màu và một hàng hoặc cột, sau đó tô màu tất cả các ô trong hàng/cột đó với màu đã chọn, bất kể trước đó có gì trên ô. Hạo sẽ thực hiện một số hữu hạn nét vẽ và hoàn thành bức tranh của mình.

Tuy nhiên, bạn của anh ấy là Thái tìm thấy một bức tranh giống của Hạo nhưng không chắc liệu đó có thực sự là của anh ấy không. Bức tranh anh tìm thấy một lần nữa có thể được tưởng tượng như một lưới n × n trong đó mỗi ô là màu trắng, xanh hoặc đỏ. Bức tranh có thể là của Hạo nếu tồn tại một chuỗi các nét vẽ trên tấm vải trắng, như được mô tả ở trên, tạo ra một hình ảnh giống hệt với hình ảnh được tìm thấy. Thái đã yêu cầu bạn giúp anh ấy xác định xem bức tranh có thể là của Hạo không và nếu có, hãy tìm một chuỗi các nét vẽ tạo ra bức tranh được tìm thấy.

Đầu vào

  • Dòng đầu tiên chứa một số nguyên dương \(n\) \((1 \le n \le 2000)\).
  • Trong n dòng tiếp theo, có \(n\) số nguyên \(a[i,j]\) \((0 \le a[i,j] \le 2)\), trong đó mỗi số đại diện cho màu ở hàng thứ \(i\) và cột thứ \(j\) (\(0\) nếu trắng, \(1\) nếu đỏ và \(2\) nếu xanh).

Đầu ra

  • Nếu bức tranh có thể là của Hạo, thì ở dòng đầu tiên, in số nét vẽ \(K\) \((0 \le K \le 4000)\).
  • Trong \(K\) dòng tiếp theo, bạn nên in ba số nguyên. Số đầu tiên sẽ cho biết nét vẽ thứ \(i\) là trên hàng hay cột (\(1\) cho hàng, \(2\) cho cột). Số thứ hai sẽ cho biết chỉ số của hàng hoặc cột nơi nét vẽ được thực hiện và số thứ ba sẽ cho biết màu theo cách tương tự như được mô tả trong phần Đầu vào.
  • Nếu bức tranh chắc chắn không phải của Hạo, in "-1" (không có dấu ngoặc kép) ở dòng đầu tiên và duy nhất.

Chấm điểm

Subtask Điểm Ràng buộc
1 15 \(a[i,j] \le 1\)
2 35 \(n \le 100\)
3 40 Không có ràng buộc bổ sung.

Input 1

3
0 0 1
1 1 1
0 0 1

Output 1

2
2 3 1
1 2 1

Input 2

3
1 1 2
2 1 1
2 1 1

Output 2

-1

Input 3

4
0 1 2 1
2 2 2 1
0 1 2 1
1 1 2 1

Output 3

5
2 2 1
1 2 2
2 4 1
1 4 1
2 3 2

Nhận xét

Không có ý kiến tại thời điểm này.