AT_abc109_d.[ABC109D] Make Them Even

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个被分成 HH 行 WW 列的网格,从上往下第 ii 行,从左往右第 jj 列的格子称为格子 (i,j)(i, j)。

在格子 (i,j)(i, j) 上放有 aija_{ij} 枚硬币。

你可以进行如下操作任意次:

操作:从尚未被选中过且至少有 11 枚硬币的格子中选择一个,将其中 11 枚硬币移动到其上下左右相邻的某一个格子中。

请最大化网格中放有偶数枚硬币的格子的数量。

输入格式

输入以如下格式从标准输入读入。

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

输出格式

请输出一组操作序列,使得放有偶数枚硬币的格子的数量最大,格式如下:

NN
y1y_1 x1x_1 y1′y_1' x1′x_1'
y2y_2 x2x_2 y2′y_2' x2′x_2'
⋮\vdots
yNy_N xNx_N yN′y_N' xN′x_N'

其中,第一行为操作次数 NN,满足 0≤N≤H×W0 \leq N \leq H \times W。

第 i+1i+1 行(1≤i≤N1 \leq i \leq N)为第 ii 次操作,yi,xi,yi′,xi′y_i, x_i, y_i', x_i'(1≤yi,yi′≤H1 \leq y_i, y_i' \leq H 且 1≤xi,xi′≤W1 \leq x_i, x_i' \leq W),表示将格子 (yi,xi)(y_i, x_i) 中的 11 枚硬币移动到其相邻的格子 (yi′,xi′)(y_i', x_i')。

如果输出了题目未允许的操作,或输出格式不正确,将被判为 Wrong Answer。

输入输出样例

  • 输入#1

    2 3
    1 2 3
    0 1 1

    输出#1

    3
    2 2 2 3
    1 1 1 2
    1 3 1 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

    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

样例解释 1

按如下方式操作,可以使所有格子的硬币数都变为偶数:

  • 将格子 (2,2)(2, 2) 的 11 枚硬币移动到格子 (2,3)(2, 3)
  • 将格子 (1,1)(1, 1) 的 11 枚硬币移动到格子 (1,2)(1, 2)
  • 将格子 (1,3)(1, 3) 的 11 枚硬币移动到格子 (1,2)(1, 2)

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页