#ABC109D. Make Them Even

Make Them Even

题目描述

There is a grid of square cells with HH horizontal rows and WW vertical columns. The cell at the ii-th row and the jj-th column will be denoted as Cell (i,j)(i, j).

In Cell (i,j)(i, j), aija_{ij} coins are placed.

You can perform the following operation any number of times:

Operation: Choose a cell that was not chosen before and contains one or more coins, then move one of those coins to a vertically or horizontally adjacent cell.

Maximize the number of cells containing an even number of coins.

有一个由正方形单元格组成的网格,横向有 HH 行,纵向有 WW 列。位于第 ii 行和第 jj 列的单元格称为单元格 (i,j)(i, j) 。

在 (i,j)(i, j) 单元格中,放置了 aija_{ij} 枚硬币。

您可以多次执行下面的操作:

操作:选择一个之前未被选中且包含一个或多个硬币的单元格,然后将其中一个硬币移动到垂直或水平相邻的单元格中。

最大化含有偶数硬币的单元格数量。

输入格式

输入内容按以下格式标准输入:

HH WW
a11a_{11} a12a_{12} ...... a1Wa_{1W}
a21a_{21} a22a_{22} ...... a2Wa_{2W}
::
aH1a_{H1} aH2a_{H2} ...... aHWa_{HW}

输出格式

按以下格式打印一个操作序列,使含有偶数枚硬币的单元格数达到最大:

$N$  
$y_1$ $x_1$ $y_1'$ $x_1'$  
$y_2$ $x_2$ $y_2'$ $x_2'$  
$:$  
$y_N$ $x_N$ $y_N'$ $x_N'$  

也就是说,在第一行打印一个介于 00 和 H×WH \times W (含)之间的整数 NN ,表示操作次数。

在 (i+1)(i+1) ( 1≤i≤N1 \leq i \leq N )这一行,打印四个整数 yi,xi,yi′y_i, x_i, y_i' 和 xi′x_i' ( 1≤yi,yi′≤H1 \leq y_i, y_i' \leq H 和 1≤xi,xi′≤W1 \leq x_i, x_i' \leq W ),代表 ii (th)次操作。这四个整数表示将放置在 (yi,xi)(y_i, x_i) 单元格中的一枚硬币移动到垂直或水平相邻的 (yi′,xi′)(y_i', x_i') 单元格的操作。

请注意,如果指定的操作违反了问题陈述中的规范或输出格式无效,则会导致_错误答案_。

样例 #1

样例输入 #1

2 3
1 2 3
0 1 1

样例输出 #1

3
2 2 2 3
1 1 1 2
1 3 1 2

样例 #2

样例输入 #2

3 2
1 0
2 1
1 0

样例输出 #2

3
1 1 1 2
1 2 2 2
3 1 3 2

样例 #3

样例输入 #3

1 5
9 9 9 9 9

样例输出 #3

2
1 1 1 2
1 3 1 4

说明

数据规模与约定

  • 所有输入值均为整数。
  • 1≤H,W≤5001 \leq H, W \leq 500
  • 0≤aij≤90 \leq a_{ij} \leq 9

样例 11 解释

经过以下一系列操作后,每个单元格都包含偶数枚硬币:

  • 将 (2,2)(2, 2) 单元格中的硬币移动到 (2,3)(2, 3) 单元格。
  • 将单元格 (1,1)(1, 1) 中的硬币移动到单元格 (1,2)(1, 2) 。
  • 将单元格 (1,3)(1, 3) 中的一枚硬币移动到单元格 (1,2)(1, 2) 。