来源
2017医学部计算概论-期末考试-申博
描述
在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木。
现在请你帮他计算:保护林中所能用来盖房子的矩形空地的最大面积。
关于输入
输入:
保护林用一个二维矩阵来表示,长宽都不超过20(即<=20)。
第一行是两个正整数m,n,表示矩阵有m行n列。
然后是m行,每行n个整数,用1代表树木,用0表示空地。
关于输出
输出:
一个正整数,表示保护林中能用来盖房子的最大矩形空地面积。
例子输入
4 5
0 1 0 1 1
0 1 0 0 1
0 0 0 0 0
0 1 1 0 1
例子输出
5
提示
子矩阵边长可以为1,也就是说:
0 0 0 0 0
依然是一个可以盖房子的子矩阵。
下面是一个我觉得非常好并且在另一个长方形染色问题里也学习着写了的代码示例.
应该是这个答案的,很巧妙啊(大声
#include <stdio.h>
int max(int a, int b) {
if (a > b)return a;
else return b;
}//两数取大
int min(int a, int b) {
if (a < b)return a