CF1360G A/B Matrix
题目描述
你有四个正整数$n$, $m$, $a$, $b$ $(1\leq b\leq n\leq 50;1\leq a\leq m\leq 50)$。请你构造任意一个满足下列条件的$n$行$m$列的矩阵:
- 矩阵中的每一行都包含正好$a$个$1$;
- 矩阵中的每一列都包含正好$b$个$1$;
- 矩阵中剩下的位置全是$0$。
如果矩阵不存在,则表示其不存在即可。
比如说,对于$n=3,m=6,a=2,b=1$的一组数据,可以构造出以下的满足条件的矩阵:
$$
\begin{vmatrix}
0 & 1 & 0 & 0 & 0 & 1 \\
1 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 1 & 0
\end{vmatrix}
$$
输入格式
本题输入包含多组数据。
第一行包含一个整数$t$ $(1\leq t\leq 1000)$,表示数据的组数。
接下来有$t$行输入,每行输入都包含四个正整数:$n$, $m$, $a$, $b$ $(1\leq b\leq n\leq 50;1\leq a\leq m\leq 50)$。其中,$n,m$为矩阵的行数和列数、$a,b$为矩阵中每行包含的$1$的个数和每列包含的$1$的个数。
输出格式
对于每组数据,有如下输出:
- 如果可以构造出满足条件的矩阵,输出`YES`后输出构造出来的矩阵。
- 如果构造不出,则直接输出`NO`。