#O3164. LQ.蓝桥杯.十三届.省赛.第一场.编程题.06.奖品

LQ.蓝桥杯.十三届.省赛.第一场.编程题.06.奖品

题目描述

有一个 N*M 的矩阵方格,其中有些方格中有奖品,有些方格中没有奖品。小蓝需要从 N*M 的矩阵中选择一个正方形区域,如果所选的正方形区域的一条对角线方格中都有奖品,其他方格都没有奖品,就会获得所选区域中的所有奖品,否则不能获得奖品。

当给出 N 和M的值,及 N*M 的矩阵方格中摆放的奖品情况( 0 表示方格中没有奖品,1 表示方格中有奖品),请你帮助小蓝找出一个正方形区域,能够获得数量最多的奖品,并将奖品数输出。

例如:N=5,M=6,奖品情况如下:

img

选择上图红色正方形区域,可以获得最多的 4 个奖品。

输入格式

第一行输入两个整数 N 和 M( 1 ≤ N ≤ 100,1 ≤ M ≤100 ),N 表示矩阵的行数,M 表示矩阵的列数,两个整数之间一个空格隔开;

接下来输入 N 行,每行包括 M 个 0 或者 1(0 表示方格中没有奖品,1 表示方格中有奖品),0 或者 1 之间一个空格隔开。

输出格式

输出一个整数,表示最多可获得的奖品数

样例

5 6
1 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
4