AT_agc038_a [AGC038A] 01 Matrix
题目描述
有一个由 $H$ 行 $W$ 列组成的网格。すぬけくん想在每个格子中填写 $0$ 或 $1$。填写时,必须满足以下所有条件:
- 对于任意一行,该行中 $0$ 的个数与 $1$ 的个数中较小的那个等于 $A$。(如果 $0$ 和 $1$ 的个数相同,较小的可以任选其一。)
- 对于任意一列,该列中 $0$ 的个数与 $1$ 的个数中较小的那个等于 $B$。
请判断是否可以按照这些条件在每个格子中填写 $0$ 或 $1$。如果可以,请给出一种满足条件的填写方案。
输入格式
输入通过标准输入给出,格式如下:
> $H$ $W$ $A$ $B$
输出格式
如果无法满足条件,请输出 `No`。
如果可以满足条件,请输出一种满足条件的填写方案,格式如下:
> $s_{11}s_{12}\cdots s_{1W}$
> $s_{21}s_{22}\cdots s_{2W}$
> $\vdots$
> $s_{H1}s_{H2}\cdots s_{HW}$
其中 $s_{ij}$ 表示第 $i$ 行第 $j$ 列格子中填写的数字。
如果存在多种解法,输出任意一种都视为正确。
说明/提示
## 限制条件
- $1 \leq H, W \leq 1000$
- $0 \leq A$
- $2 \times A \leq W$
- $0 \leq B$
- $2 \times B \leq H$
- 输入的所有数值均为整数。
## 样例解释 1
对于每一行,该行中 $0$ 和 $1$ 的个数分别为 $2$ 和 $1$,满足条件。同时,对于每一列,该列中 $0$ 和 $1$ 的个数分别为 $2$ 和 $1$,也满足条件。
由 ChatGPT 4.1 翻译