首页 > 试题广场 >

(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子

[填空题]
(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。
输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(第一空2分,其余3分,共14分)

const
  SIZE = 100;
var
  matrix : array[1..SIZE, 1..SIZE] of integer;
  rowsum : array[1..SIZE, 0..SIZE] of integer;
    //rowsum[I,j]记录前i行前j个数的和
  m, n, i, j, first, last, area, ans : integer;
begin
  read(m, n);
  for i:=1 to m do
    for j:=1 to n do
      read(matrix[i, j]);
  ans := matrix1;
  for i:=1 to m do
  2;
  for i:=1 to m do
    for j:=1 to n do
      rowsum[i, j] := 3;
  for first:=1 to n do
    for last:=first to n do
    begin
      4;
      for i:=1 to m do
      begin
        area := area + 5;
        if (area > ans) then
          ans := area;
        if (area < 0) then
          area := 0;
      end;
    end;
  writeln(ans);
end.

这道题你会答吗?花几分钟告诉大家答案吧!