CF1360G.A/B Matrix

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given four positive integers nn, mm, aa, bb (1≤b≤n≤501 \le b \le n \le 50; 1≤a≤m≤501 \le a \le m \le 50). Find any such rectangular matrix of size n×mn \times m that satisfies all of the following conditions:

  • each row of the matrix contains exactly aa ones;
  • each column of the matrix contains exactly bb ones;
  • all other elements are zeros.

If the desired matrix does not exist, indicate this.

For example, for n=3n=3, m=6m=6, a=2a=2, b=1b=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}

给你四个正整数 nn、mm、aa、bb(满足 1≤b≤n≤501 \le b \le n \le 50;1≤a≤m≤501 \le a \le m \le 50)。请构造一个大小为 n×mn \times m 的矩形矩阵,使其满足以下所有条件:

  • 矩阵的每一行恰好包含 aa 个 1;
  • 矩阵的每一列恰好包含 bb 个 1;
  • 其余所有元素均为 0。

若不存在满足条件的矩阵,请说明这一点。

例如,当 n=3n=3、m=6m=6、a=2a=2、b=1b=1 时,存在一个满足上述条件的矩阵:

∣010001100100001010∣\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 tt (1≤t≤10001 \le t \le 1000) — the number of test cases. Then tt test cases follow.

Each test case is described by four positive integers nn, mm, aa, bb (1≤b≤n≤501 \le b \le n \le 50; 1≤a≤m≤501 \le a \le m \le 50), where nn and mm are the sizes of the matrix, and aa and bb are the number of ones for rows and columns, respectively.

第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000),表示测试用例的数量。随后是 tt 个测试用例。

每个测试用例由四个正整数 nn、mm、aa、bb(1≤b≤n≤501 \le b \le n \le 50;1≤a≤m≤501 \le a \le m \le 50)描述,其中 nn 和 mm 是矩阵的尺寸,aa 和 bb 分别表示每行和每列中 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×mn \times m, print nn rows, each of which consists of mm numbers 00 or 11 describing a row of the matrix. Numbers must be printed without spaces.

对每个测试用例,输出:

  • 若满足条件的矩阵存在,则输出 "YES"(不带引号)以及所要求的矩阵(若存在多个答案,输出任意一个);
  • 否则输出 "NO"(不带引号)。

要输出 n×mn \times m 的矩阵,请输出 nn 行,每行包含 mm 个数字(00 或 11),描述矩阵的一行。数字之间不得包含空格。

输入输出样例

  • 输入#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测评打分。不知道怎么写?

首页