atcoder#AGC016C. [AGC016C] +/- Rectangle
[AGC016C] +/- Rectangle
题目描述
整数 , , , (, ) が与えられます。 次の条件がすべて成り立つような行列が存在するか判定し、存在するならばひとつ構成してください。
- 行列は 行 列である。
- 行列の各要素は 以上 以下の整数である。
- 行列の全要素の総和は正の値である。
- どこから 行 列の部分長方形を取り出しても、部分長方形に含まれる全要素の総和は負の値である。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件がすべて成り立つような行列が存在しないならば、No
を出力せよ。
存在するならば、 行目に Yes
を出力し、 行目以降に行列をひとつ出力せよ。 行列は以下の形式で出力せよ。 ただし、 は行列の 要素を表す。
题目大意
给定整数 ,你需要判断是否存在满足如下条件的矩阵,如果存在,则输出任意一种可能的方案。
- 矩阵是 行 列
- 矩阵的每个元素的权值在 之间
- 矩阵的所有元素权值和为正
- 任意大小为 的子矩阵的元素权值和为负
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
提示
制約
Sample Explanation 1
行列の全要素の総和は であり、正の値です。 また、部分長方形を取り出す方法は次図の 通りですが、どの場合も、部分長方形に含まれる全要素の総和は であり、負の値です。 ![bbdb651fa1f05996886da9f0c4d8090a.png](https://atcoder.jp/img/agc016/bbdb651fa1f05996886da9f0c4d8090a.png)