#P16849. [GKS 2021 #D] Arithmetic Square

[GKS 2021 #D] Arithmetic Square

题目描述

给定一个 3×33 \times 3 的整数网格。记 Gi,jG_{i,j} 为网格中第 ii 行第 jj 列的整数,其中 iijj00 开始编号。网格正中间的整数 G1,1G_{1,1} 缺失。请找出该正方形的行、列和对角线中,能形成等差数列的序列的最大数量。你可以用任意整数替换缺失的数字。

等差数列(也称算术序列)是指一个序列,其中相邻两项的差为常数。用数学术语表示,即 an=an1+da_n = a_{n-1} + d,其中 dd 为公差。在本问题中,一个序列可以是某一行、某一列或某一条对角线上的 33 个数。我们希望通过替换缺失值为某个整数,使得最终得到的序列集合中,等差数列的数量最大。

如果两个序列来自不同的行、列或对角线,则视为不同。例如,中间行的序列 {2,4,6}\{2, 4, 6\} 与顶行的序列 {2,4,6}\{2, 4, 6\} 将算作 22 个序列,但同一行、列或对角线上的序列 {2,4,6}\{2, 4, 6\}{6,4,2}\{6, 4, 2\} 只算作一个序列。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例由 33 行组成。

每个测试用例的第一行包含 33 个整数:G0,0G_{0,0}G0,1G_{0,1}G0,2G_{0,2}

每个测试用例的第二行包含 22 个整数:G1,0G_{1,0}G1,2G_{1,2}

每个测试用例的最后一行包含 33 个整数:G2,0G_{2,0}G2,1G_{2,1}G2,2G_{2,2}

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是在设置缺失元素后,网格的行、列和对角线所能生成的等差数列的最大可能数量。

3
3 4 11
10 9
-1 6 7
4 1 6
3 5
2 5 6
9 9 9
9 9
9 9 9
Case #1: 4
Case #2: 3
Case #3: 8

提示

在样例 #1 中,如果将缺失数字设为 55,则恰好有 44 个等差数列。

  • 主对角线:[3,5,7][3, 5, 7]
  • 副对角线:[1,5,11][-1, 5, 11]
  • 中间列:[4,5,6][4, 5, 6]
  • 右列:[11,9,7][11, 9, 7]

如果将缺失数字设为其他整数,则只会得到 11 个等差数列。因此答案为 44

在样例 #2 中,如果将缺失数字设为 44,则恰好有 33 个等差数列。

  • 副对角线:[6,4,2][6, 4, 2]
  • 中间行:[3,4,5][3, 4, 5]
  • 左列:[4,3,2][4, 3, 2]

将缺失数字设为其他任何整数都会导致更少的等差数列,因此输出 33

在样例 #3 中,如果将缺失数字设为 99,则所有可能的等差数列都成立。总共有 88 个等差数列(每个都是 [9,9,9][9, 9, 9]),因此输出 88

限制条件

1T1001 \le T \le 100

对于所有 i,ji, jGi,jG_{i,j} 为整数。

测试集 1

对于所有 i,ji, jGi,j50|G_{i,j}| \le 50

测试集 2

对于所有 i,ji, jGi,j109|G_{i,j}| \le 10^9

翻译由 DeepSeek V4 Pro 完成