CF1360G.A/B Matrix
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given four positive integers n, m, a, b (1≤b≤n≤50; 1≤a≤m≤50). Find any such rectangular matrix of size n×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}给你四个正整数 n、m、a、b(满足 1≤b≤n≤50;1≤a≤m≤50)。请构造一个大小为 n×m 的矩形矩阵,使其满足以下所有条件:
- 矩阵的每一行恰好包含 a 个 1;
- 矩阵的每一列恰好包含 b 个 1;
- 其余所有元素均为 0。
若不存在满足条件的矩阵,请说明这一点。
例如,当 n=3、m=6、a=2、b=1 时,存在一个满足上述条件的矩阵:
010100001010001100
输入格式
The first line contains an integer t (1≤t≤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≤b≤n≤50; 1≤a≤m≤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.
第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。随后是 t 个测试用例。
每个测试用例由四个正整数 n、m、a、b(1≤b≤n≤50;1≤a≤m≤50)描述,其中 n 和 m 是矩阵的尺寸,a 和 b 分别表示每行和每列中 1 的个数。
输出格式
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×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.
对每个测试用例,输出:
- 若满足条件的矩阵存在,则输出
"YES"(不带引号)以及所要求的矩阵(若存在多个答案,输出任意一个); - 否则输出
"NO"(不带引号)。
要输出 n×m 的矩阵,请输出 n 行,每行包含 m 个数字(0 或 1),描述矩阵的一行。数字之间不得包含空格。
输入输出样例
输入#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
输入解题思路,AI测评打分。不知道怎么写?