AT_kupc2024_b Brindled Torus

题目描述

请你构造一个满足以下所有条件的长方形网格。如果不存在这样的长方形网格,请报告此事。 - 网格的格子总数在 $1$ 到 $2 \times 10^5$ 之间。 - 网格的每一个格子要么被涂成白色,要么被涂成黑色。 - 在整个网格中,白色格子的数量与黑色格子的数量之比为 $A:B$。 - 对于网格中的每一个格子,至少存在一个相邻格子,其颜色与该格子不同。 这里网格的行数为 $H$,列数为 $W$,从上往下的第 $i+1$ 行、从左往右的第 $j+1$ 列的格子记作 $(i, j)$。 对于 $(i, j)$ 的相邻格子,指的是以下至多 $4$ 个格子:$((i-1)\bmod H, j)$、$((i+1)\bmod H, j)$、$(i, (j-1)\bmod W)$、$(i, (j+1)\bmod W)$。 给定 $T$ 个测试用例,请分别回答每个用例。

输入格式

输入按以下格式从标准输入读入。 > $T$ > $case_1$ > $case_2$ > $\vdots$ > $case_T$ 每个测试用例 $case_i$ $(1 \le i \le T)$ 按以下格式给出。 > $A$ $B$

输出格式

请按以下格式输出到标准输出。 > $out_1$ > $out_2$ > $\vdots$ > $out_T$ 对于每个测试用例 $case_i$,输出 $out_i$ $(1 \le i \le T)$。 如果存在满足条件的长方形网格,请输出以下格式。如果不存在则输出 `-1`。 > $H$ $W$ > $c_{0,0}$ $c_{0,1}$ $\cdots$ $c_{0,W-1}$ > $c_{1,0}$ $c_{1,1}$ $\cdots$ $c_{1,W-1}$ > $\vdots$ > $c_{H-1,0}$ $c_{H-1,1}$ $\cdots$ $c_{H-1,W-1}$ $H$ 表示网格的行数,$W$ 表示网格的列数,且需满足 $1 \le H \times W \le 2 \times 10^5$。$c_{i, j}$ 表示 $(i, j)$ 处的颜色,若被涂成白色则为英文点号 `.`,黑色则为英文符号 `@`。

说明/提示

### 样例说明 1 对于第 $1$ 个测试用例,白格有 $4$ 个,黑格有 $8$ 个,$4:8 = 1:2$。对于黑色格子来说,其相邻的格子中至少有一个为白色,对于白色格子来说,其相邻的格子中至少有一个为黑色,因此满足题目条件。除此之外,也有其他正确答案。 对于第 $3$ 个测试用例,不存在所有格子都为黑色且满足相邻不同色的长方形网格。 ### 数据范围 - 所有输入均为整数 - $1 \le T \le 10$ - $0 \le A \le 1000$ - $0 \le B \le 1000$ - $A + B > 0$ - $\gcd(A, B) = 1$ 由 ChatGPT 5 翻译