#P12637. [UOI 2020] Golden Field

    ID: 14186 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 显示难度暂无评定 上传者: 标签>2020Special JudgeUOI(乌克兰)

[UOI 2020] Golden Field

题目描述

哥萨克人 Vus 偶然发现了一块 n×mn \times m 平方米的矩形田地。这块田地有 nn 行 mm 列,行从上到下编号为 11 到 nn,列从左到右编号为 11 到 mm。

Vus 注意到某些方格中有金币:位于第 ii 行第 jj 列的方格中恰好有 aija_{ij} 枚金币。

如果只是简单地捡起所有金币,对 Vus 来说太容易了,因此他决定只从金币数量为偶数的方格中收取金币。

然而这个任务对他来说还是太简单,于是 Vus 决定通过以下方式移动金币:他可以将某个方格中的全部金币转移到任意相邻的方格中。两个方格相邻当且仅当它们共享一条边。他可以执行任意次数的这种转移操作。

现在 Vus 想知道他最多能收取多少金币。请你帮他计算这个最大值,并告诉他应该如何移动金币才能达到这个目标。

注意 Vus 不需要最小化转移操作的次数,他只需要最大化最终收取的金币数量。

输入格式

第一行包含两个整数 tt 和 gg(1≤t≤101 \leq t \leq 10,0≤g≤60 \leq g \leq 6)——测试用例数量和测试组编号。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤501 \leq n, m \leq 50)——田地的尺寸。

接下来的 nn 行每行包含 mm 个整数 ai1,ai2,…,aima_{i1}, a_{i2}, \dots, a_{im}(0≤aij≤1000 \leq a_{ij} \leq 100)——每个方格中的金币数量。

不保证田地中至少有一枚金币。

输出格式

对于每个测试用例,按以下格式输出:

第一行输出一个整数——Vus 能收取的最大金币数量。

第二行输出一个整数 pp(0≤p≤10 0000 \leq p \leq 10\,000)——需要执行的转移操作次数。注意不需要最小化 pp 的值。

接下来的 pp 行,每行输出四个整数 x1x_1, y1y_1, x2x_2, y2y_2(1≤x1,x2≤n1 \leq x_1, x_2 \leq n,1≤y1,y2≤m1 \leq y_1, y_2 \leq m),表示将位于 (x1,y1)(x_1, y_1) 的方格中的所有金币转移到 (x2,y2)(x_2, y_2) 的方格中。

如果有多个正确答案,输出任意一个即可。题目保证存在最优解,且转移操作次数不超过 10 00010\,000。

2 0
2 3
4 5 1
9 2 0
1 4
1 4 5 4
20
4
1 1 2 1
1 2 2 2
2 1 2 2
2 2 2 3
14
3
1 1 1 2
1 2 1 3
1 3 1 4

提示

在第一个样例中,Vus 可以先将 (1,2)(1, 2) 方格中的所有金币转移到 (2,2)(2, 2),此时田地状态为:

$$\begin{array}{cc} 4 & 0 & 1\\ 9 & 7 & 0\\ \end{array}$$

然后将 (2,2)(2, 2) 方格中的金币转移到 (2,1)(2, 1),田地状态变为:

$$\begin{array}{cc} 4 & 0 & 1\\ 16 & 0 & 0\\ \end{array}$$

因此最终收取的金币数量为 4+16=204+16=20。

在第二个样例中,Vus 可以先将 (1,1)(1, 1) 方格中的金币转移到 (1,2)(1, 2),此时田地状态为:

0554\begin{array}{c} 0 & 5 & 5 & 4 \end{array}

然后将 (1,2)(1, 2) 方格中的金币转移到 (1,3)(1, 3),田地状态变为:

00104\begin{array}{c} 0 & 0 & 10 & 4 \end{array}

因此最终收取的金币数量为 10+4=1410+4=14。

评分标准

  • (1414 分)n=1n=1,所有 aija_{ij} 为偶数;
  • (1616 分)n=1n=1,所有 aija_{ij} 为奇数;
  • (1919 分)n=1n=1;
  • (1414 分)n,m>1n,m>1,所有 aija_{ij} 为偶数;
  • (1717 分)n,m>1n,m>1,所有 aija_{ij} 为奇数;
  • (2020 分)n,m>1n,m>1。

翻译由 DeepSeek V3 完成