atcoder#AGC016C. [AGC016C] +/- Rectangle

[AGC016C] +/- Rectangle

题目描述

整数 H H , W W , h h , w w (1 < = h < = H 1\ <\ =\ h\ <\ =\ H , 1 < = w < = W 1\ <\ =\ w\ <\ =\ W ) が与えられます。 次の条件がすべて成り立つような行列が存在するか判定し、存在するならばひとつ構成してください。

  • 行列は H H W W 列である。
  • 行列の各要素は 109 -10^9 以上 109 10^9 以下の整数である。
  • 行列の全要素の総和は正の値である。
  • どこから h h w w 列の部分長方形を取り出しても、部分長方形に含まれる全要素の総和は負の値である。

输入格式

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

H H W W h h w w

输出格式

条件がすべて成り立つような行列が存在しないならば、No を出力せよ。

存在するならば、1 1 行目に Yes を出力し、2 2 行目以降に行列をひとつ出力せよ。 行列は以下の形式で出力せよ。 ただし、aij a_{ij} は行列の (i, j) (i,\ j) 要素を表す。

a11 a_{11} ... ... a1W a_{1W} : : aH1 a_{H1} ... ... aHW a_{HW}

题目大意

给定整数 H,W,h,wH,W,h,w,你需要判断是否存在满足如下条件的矩阵,如果存在,则输出任意一种可能的方案。

  • 矩阵是 HHWW
  • 矩阵的每个元素的权值在 [109,109][-10^9,10^9] 之间
  • 矩阵的所有元素权值和为正
  • 任意大小为 h×wh \times w 的子矩阵的元素权值和为负
3 3 2 2
Yes
1 1 1
1 -4 1
1 1 1
2 4 1 2
No
3 4 2 3
Yes
2 -5 8 7
3 -5 -4 -5
2 1 -1 7

提示

制約

  • 1 < = h < = H < = 500 1\ <\ =\ h\ <\ =\ H\ <\ =\ 500
  • 1 < = w < = W < = 500 1\ <\ =\ w\ <\ =\ W\ <\ =\ 500

Sample Explanation 1

行列の全要素の総和は 4 4 であり、正の値です。 また、部分長方形を取り出す方法は次図の 4 4 通りですが、どの場合も、部分長方形に含まれる全要素の総和は 1 -1 であり、負の値です。 ![bbdb651fa1f05996886da9f0c4d8090a.png](https://atcoder.jp/img/agc016/bbdb651fa1f05996886da9f0c4d8090a.png)