题库首页 › 青少年软件编程(C语言) › 题目 4776

最大子矩阵 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15。 时间限制:1000 内存限制:65536 输入 输入是一个N * N的矩阵。输入的第一行给出N (0 < N <= 100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[-127, 127]。 输出 输出最大子矩阵的大小。 样例输入 4 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 样例输出 15

正确答案:参考程序(C++):最大子矩阵。枚举行上下边界,压缩成一维数组,求最大子段和(Kadane)。样例15。核心:压缩+最大子段和。

试卷来源:202106 青少年等级考试C/C++真题四级

本卷相关题目

在线做题 同科目题库