307472: CF1360G. A/B Matrix

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

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`。

题目描述

You are given four positive integers $ n $ , $ m $ , $ a $ , $ b $ ( $ 1 \le b \le n \le 50 $ ; $ 1 \le a \le m \le 50 $ ). Find any such rectangular matrix of size $ n \times m $ that satisfies all of the following conditions: - each row of the matrix contains exactly $ a $ ones; - each column of the matrix contains exactly $ b $ ones; - all other elements are zeros. If the desired matrix does not exist, indicate this. For example, for $ n=3 $ , $ m=6 $ , $ a=2 $ , $ b=1 $ , there exists a matrix satisfying the conditions above: $ $ \begin{vmatrix} 0 & 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 \end{vmatrix} $ $

输入输出格式

输入格式


The first line contains an integer $ t $ ( $ 1 \le t \le 1000 $ ) — the number of test cases. Then $ t $ test cases follow. Each test case is described by four positive integers $ n $ , $ m $ , $ a $ , $ b $ ( $ 1 \le b \le n \le 50 $ ; $ 1 \le a \le m \le 50 $ ), where $ n $ and $ m $ are the sizes of the matrix, and $ a $ and $ b $ are the number of ones for rows and columns, respectively.

输出格式


For each test case print: - "YES" (without quotes) and the required matrix (if there are several answers, print any) if it exists, or - "NO" (without quotes) if it does not exist. To print the matrix $ n \times m $ , print $ n $ rows, each of which consists of $ m $ numbers $ 0 $ or $ 1 $ describing a row of the matrix. Numbers must be printed without spaces.

输入输出样例

输入样例 #1

5
3 6 2 1
2 2 2 1
2 2 2 2
4 4 2 2
2 1 1 2

输出样例 #1

YES
010001
100100
001010
NO
YES
11
11
YES
1100
1100
0011
0011
YES
1
1

Input

题意翻译

## 题目描述 你有四个正整数$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`。

加入题单

算法标签: