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 翻译