logo AlgoBeat OnlineJudge
登录 注册

#215484. [CCC 2019 S3] Arithmetic Square 等差方阵

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给你一个 的网格,其中包含整数。

网格中的 个元素中,有些已经给定数值,其余元素未指定。

你的任务是为未指定的元素确定数值,使得:

  • 每一行(从左到右读取)构成一个等差数列;
  • 每一列(从上到下读取)构成一个等差数列。

回忆:长度为 的等差数列是如下形式的整数序列:

其中 为整数。注意 可以是任意整数,包括 或负整数。

输入格式

输入共 行。每行包含三个以空格分隔的值。

每个值要么是一个整数(范围为 ,包含端点),要么是符号 X

分中:

  • 分对应输入中最多包含 X
  • 另有 分对应输入中所有整数值都在 (包含端点)之间;
  • 另有 分对应输入中至少包含 X
  • 另有 分对应输入中所有整数值均为偶数。

输出格式

输出共 行。每行包含三个以空格分隔的整数。

所有在输入中给定的整数必须保持在相同位置(即相同行与相同列)。

所有行与所有列必须构成等差数列。

输出中的所有整数必须在 (包含端点)之间。

如果存在多个解,输出任意一个解即可。题目保证至少存在一个解。

样例

样例输入 1

8 9 10
16 X 20
24 X 30

样例输出 1

8 9 10
16 18 20
24 27 30

样例输入 2

14 X X
X X 18
X 16 X

样例输出 2

14 20 26
18 18 18
22 16 10

数据范围与提示

样例 #1 说明

注意第二行第二个元素必须是

由于:

因此:

所以该未指定元素必须为:

对第三行第二个元素可以采用类似的推理。

样例 #2 说明

这只是众多可能解中的一个。例如,另一种解为:

14 16 18
14 16 18
14 16 18

翻译来源:GPT 5.2。