最大子矩阵

最大子矩阵

题目描述

本题来自一本通 C++ 编程语言入门 基础算法 第六章 贪心算法(pid 1224)。

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。
比如,如下4 × 4的矩阵
\begin{matrix}0&-2&-7&0\\9&2&-6&2\\-4&1&-4&1\\-1&8&0&-2\end{matrix}
的最大子矩阵是
\begin{matrix}9&2\\-4&1\\-1&8\end{matrix}
这个子矩阵的大小是15。

输入格式

输入是一个N×N的矩阵。输入的第一行给出N(0<N<=100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N^2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[-127,127]。

输出格式

输出最大子矩阵的大小。
4
 0 -2 -7  0
 9  2 -6  2
-4  1 -4  1
-1  8  0 -2
15

来源

一本通基础-贪心 编程题