AT_tupc2023_k (mod HW+1)
题目描述
给定整数 $H, W, R$。
有一个 $H$ 行 $W$ 列的格子,你需要在每个格子中写入一个整数。
令第 $i$ 行第 $j$ 列写入的整数为 $P_{i, j}$,请判断是否存在一种写法,使得如下条件成立。如果存在,请给出一种这样的写法。
- $(P_{1,1}, P_{1,2}, \ldots, P_{1, W}, P_{2, 1}, \ldots, P_{H, W})$ 是 $1, 2, \ldots, H \times W$ 的一个排列。
- 任意选择一个 $2 \times 2$ 的小方格,其包含的 $4$ 个整数的乘积除以 $HW + 1$ 的余数恰好等于 $R$。
- 更准确地说,对于任意 $1 \leq i \leq H-1, 1 \leq j \leq W-1$,都有:$P_{i, j} \times P_{i+1, j} \times P_{i, j+1} \times P_{i+1, j+1} \equiv R \pmod{HW + 1}$。
对于每个输入文件,需要解答 $T$ 个测试用例。
输入格式
输入以如下格式从标准输入读入。
> $T\ \mathrm{case}_1\ \mathrm{case}_2\ \vdots\ \mathrm{case}_T$
每个测试用例的格式如下:
> $H\ W\ R$
输出格式
如果存在满足条件的写法,首行输出 `Yes`,否则输出 `No`。
如果存在,接下来的 $H$ 行输出其中一种方案。每行 $W$ 个整数,具体格式为:
> $P_{1, 1}\ P_{1, 2}\ \cdots\ P_{1, W}$
>
> $P_{2, 1}\ P_{2, 2}\ \cdots\ P_{2, W}$
>
> $\vdots$
>
> $P_{H, 1}\ P_{H, 2}\ \cdots\ P_{H, W}$
若满足条件的方案有多种,输出任意一个都可以。
说明/提示
### 部分分
本题满分为 $101$ 分。
- 如果你能解决满足 $T = 1, H = W = 4, R = 8$ 的数据,可以获得 $10$ 分。
- 如果你能解决满足 $H = W$ 的数据,可以额外获得 $90$ 分(共 $100$ 分)。
### 样例解释 1
本组输入输出满足额外条件 $H = W$。
### 数据范围
- $1 \leq T \leq 100$
- $2 \leq H \leq 50$
- $2 \leq W \leq 50$
- $0 \leq R < HW + 1$
- 所有输入均为整数。
由 ChatGPT 5 翻译