从前有个村庄,村民们喜欢在各种田地上插上小旗子,旗子上标识了各种不同的数字。某天集体村民决定将覆盖相同数字的最小矩阵形的土地的分配给为村里做出巨大贡献的村民,请问,此次分配士地,做出贡献的村民中最大会分配多大面积?
第一行输入m和n,m代表村子的土地的长,n代表土地的宽 第二行开始输入地图上的具体标识
输出需要分配的土地面积,即包含相回数字旗子的最小知阵中的最大面积。
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
3 3 1 0 1 0 0 0 0 1 0
9
土地上的旗子为1,其坐标分别为(0,0),(2,1)以及(0,2),为了覆盖所有旗子,矩阵需要覆盖的横坐标为0和2,纵坐标为0和2,所以面积为9,即(2-0+1)*(2-0+1)=9。
C语言版本
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main() {
int m, n;
scanf("%d%d", &m,&n);
int arr[m][n];
int hash[600] = {0};
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
scanf("%d",&arr[i][j