#YC336. 枚举特定大小的子矩阵easy

枚举特定大小的子矩阵easy

题目背景

检查大矩阵当中的每个特定大小23列的子矩阵,是常见操作,方法也很简单,只需要枚举所有子矩阵的左上顶点(i,j)(i,j) ,然后从ii行开始枚举到i+1i+1行,从jj列枚举到j+2j+2

例如,枚举所有的2 x 3子矩阵


for(int i=1; i<=n; i++) {

	for(int j=1; j<=m; j++) {

		if(i+1>n||j+2>m)break;//越界

		for(int p=i; p<=i+1; p++) {

			for(int q=j; q<=j+2; q++) {

//对子矩阵的每个元素A[p][q]做操作

			}

		}

	}

}

题目描述

请你根据上面知识点,来完成本题

给定一个NM列的矩阵,(1N,M200)(1 \leq N,M \leq 200)

所有矩阵元素只可能为0或者1

请你从所有2x3规模的小矩阵,找到最大的子矩阵和,并输出

输入

第一行输入两个整数N,M1N,M2001\leq N,M\leq 200 .

接下来N行 ,每行输入M个整数,保证只能是01

输出

最大的2x3子矩阵的内部元素和

样例

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