atcoder#AGC038A. [AGC038A] 01 Matrix

[AGC038A] 01 Matrix

题目描述

H H W W 列からなるマス目があります。 すぬけくんは、各マスに 0 0 または 1 1 を書き込みたいです。 その際、以下の条件を全て満たす必要があります。

  • どの行についても、その行に含まれる 0 0 の個数と、その行に含まれる 1 1 の個数のうち、小さい方が A A である。 (ここで、0,1 0,1 の個数が同じ場合、小さい方はどちらとしてもよい)。
  • どの列についても、その列に含まれる 0 0 の個数と、その列に含まれる 1 1 の個数のうち、小さい方が B B である。

これらの条件を満たすように各マスに 0,1 0,1 を書き込めるか判定し、 可能な場合は条件を満たす書き込み方を 1 1 つ示してください。

输入格式

入力は以下の形式で標準入力から与えられる。

H H W W A A B B

输出格式

条件を満たすように各マスに 0,1 0,1 を書き込むことが不可能な場合は No を出力せよ。

可能な場合は、条件を満たす書き込み方を 1 1 つ、以下の形式で出力せよ。

s11s12 s1W s_{11}s_{12}\cdots\ s_{1W} s21s22 s2W s_{21}s_{22}\cdots\ s_{2W} \vdots sH1sH2 sHW s_{H1}s_{H2}\cdots\ s_{HW}

ただしここで sij s_{ij} は、マス目の上から i i 行目、左から j j 番目のマスに書き込む数字である。

解が複数存在する場合、どれを出力しても正解と判定される。

题目大意

给定h,w,a,bh,w,a,b,请你构造hhww列的0101矩阵使得:

  • 对于每一行,min{0\min\{0的个数,1,1的个数}=a\}=a
  • 对于每一列,min{0\min\{0的个数,1,1的个数}=b\}=b

无解请输出1-1;如果有多解,任意输出一组即可。

$1\le h,w\le 1000, 0\le a\le \frac{h}{2}, 0\le b\le \frac{w}{2}$

Translated by Caro23333

3 3 1 1
100
010
001
1 5 2 0
01010

提示

制約

  • 1  H,W  1000 1\ \leq\ H,W\ \leq\ 1000
  • 0  A 0\ \leq\ A
  • 2 × A  W 2\ \times\ A\ \leq\ W
  • 0  B 0\ \leq\ B
  • 2 × B  H 2\ \times\ B\ \leq\ H
  • 入力される値はすべて整数である。

Sample Explanation 1

どの行についても、その行に含まれる 0,1 0,1 の個数はそれぞれ 2,1 2,1 であり、条件を満たしています。 また、どの列についても、その列に含まれる 0,1 0,1 の個数はそれぞれ 2,1 2,1 であり、条件を満たしています。