[暴力] Educational Codeforces Round 71 (Rated for Div. 2) B. Square Filling (1207B)

本秂侑毒 提交于 2019-11-28 08:39:27
 
B. Square Filling
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

You are given two matrices A

and B. Each matrix contains exactly n rows and m columns. Each element of A is either 0 or 1; each element of B is initially 0

.

You may perform some operations with matrix B

. During each operation, you choose any submatrix of B having size 2×2, and replace every element in the chosen submatrix with 1. In other words, you choose two integers x and y such that 1x<n and 1y<m, and then set Bx,y, Bx,y+1, Bx+1,y and Bx+1,y+1 to 1

.

Your goal is to make matrix B

equal to matrix A. Two matrices A and B are equal if and only if every element of matrix A is equal to the corresponding element of matrix B

.

Is it possible to make these matrices equal? If it is, you have to come up with a sequence of operations that makes B

equal to A

. Note that you don't have to minimize the number of operations.

Input

The first line contains two integers n

and m (2n,m50

).

Then n

lines follow, each containing m integers. The j-th integer in the i-th line is Ai,j. Each integer is either 0 or 1

.

Output

If it is impossible to make B

equal to A, print one integer 1

.

Otherwise, print any sequence of operations that transforms B

into A in the following format: the first line should contain one integer k — the number of operations, and then k lines should follow, each line containing two integers x and y for the corresponding operation (set Bx,y, Bx,y+1, Bx+1,y and Bx+1,y+1 to 1). The condition 0k2500

should hold.

Examples
Input
Copy
3 3
1 1 1
1 1 1
0 1 1
Output
Copy
3
1 1
1 2
2 2
Input
Copy
3 3
1 0 1
1 0 1
0 0 0
Output
Copy
-1
Input
Copy
3 2
0 0
0 0
0 0
Output
Copy
0
Note

The sequence of operations in the first example:

000000000110110000110110110110111
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!