P16849 [GKS 2021 #D] Arithmetic Square

题目描述

给定一个 $3 \times 3$ 的整数网格。记 $G_{i,j}$ 为网格中第 $i$ 行第 $j$ 列的整数,其中 $i$ 和 $j$ 从 $0$ 开始编号。网格正中间的整数 $G_{1,1}$ 缺失。请找出该正方形的行、列和对角线中,能形成等差数列的序列的最大数量。你可以用任意整数替换缺失的数字。 等差数列(也称算术序列)是指一个序列,其中相邻两项的差为常数。用数学术语表示,即 $a_n = a_{n-1} + d$,其中 $d$ 为公差。在本问题中,一个序列可以是某一行、某一列或某一条对角线上的 $3$ 个数。我们希望通过替换缺失值为某个整数,使得最终得到的序列集合中,等差数列的数量最大。 如果两个序列来自不同的行、列或对角线,则视为不同。例如,中间行的序列 $\{2, 4, 6\}$ 与顶行的序列 $\{2, 4, 6\}$ 将算作 $2$ 个序列,但同一行、列或对角线上的序列 $\{2, 4, 6\}$ 与 $\{6, 4, 2\}$ 只算作一个序列。

输入格式

输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。 每个测试用例由 $3$ 行组成。 每个测试用例的第一行包含 $3$ 个整数:$G_{0,0}$、$G_{0,1}$ 和 $G_{0,2}$。 每个测试用例的第二行包含 $2$ 个整数:$G_{1,0}$ 和 $G_{1,2}$。 每个测试用例的最后一行包含 $3$ 个整数:$G_{2,0}$、$G_{2,1}$ 和 $G_{2,2}$。

输出格式

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

说明/提示

在样例 #1 中,如果将缺失数字设为 $5$,则恰好有 $4$ 个等差数列。 - 主对角线:$[3, 5, 7]$ - 副对角线:$[-1, 5, 11]$ - 中间列:$[4, 5, 6]$ - 右列:$[11, 9, 7]$ 如果将缺失数字设为其他整数,则只会得到 $1$ 个等差数列。因此答案为 $4$。 在样例 #2 中,如果将缺失数字设为 $4$,则恰好有 $3$ 个等差数列。 - 副对角线:$[6, 4, 2]$ - 中间行:$[3, 4, 5]$ - 左列:$[4, 3, 2]$ 将缺失数字设为其他任何整数都会导致更少的等差数列,因此输出 $3$。 在样例 #3 中,如果将缺失数字设为 $9$,则所有可能的等差数列都成立。总共有 $8$ 个等差数列(每个都是 $[9, 9, 9]$),因此输出 $8$。 ### 限制条件 $1 \le T \le 100$。 对于所有 $i, j$,$G_{i,j}$ 为整数。 **测试集 1** 对于所有 $i, j$,$|G_{i,j}| \le 50$。 **测试集 2** 对于所有 $i, j$,$|G_{i,j}| \le 10^9$。 翻译由 DeepSeek V4 Pro 完成