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