题目描述
小S喜欢一种叫“β矩阵”的特殊矩阵,这种矩阵的性质如下:
Ⅰ:矩阵有 n 行 m 列,其中每个数都在 -109 到 109 之间。
Ⅱ:矩阵中的所有数字的和都是正数。
Ⅲ:对矩阵中的每一个 h 行 w 列的子矩阵,该子矩阵中所有数字的和是负数。
在这道题中,子矩阵是指从一个矩阵中选取出连续的若干行和连续的若干列,用它们的交叉位置组成的新矩阵。
现在给你 n,m,h,w,小S想请你写一个程序:对于一个 n 行 m 列的矩阵,并且给你参数 h 和 w,你需要回答给出的矩阵是否是“β矩阵”。
输入
第一行四个整数分别是 n, m, h, w。
(1<= n, m <= 2000, 1 <= h <= n, 1 <= w <= m)。
接下来有 n 行,每行 m 个整数,其中第 i 行第 j 个数表示 ai,j (-109 <= ai,j <= 109),表示需要判断的矩阵。
数据保证:Σn × m <= 4 × 106
输出
输出一行每行一个“YES”或“NO”(不包括引号),表示给出的矩阵是否是“β矩阵”。
3 4 2 2
9 3 -5 4
-12 -2 2 -3
11 0 -2 2