2675 问题 C: 蓝桥杯2022年第十三届省赛真题-最大子矩阵

时间限制: 1s 内存限制: 512MB 提交: 1682 解决: 159
题目描述

小明有一个大小为 N × M 的矩阵,可以理解为一个 N 行 M 列的二维数组。 我们定义一个矩阵 m 的稳定度 f(m) 为 f(m) = max(m) − min(m),其中 max(m) 表示矩阵 m 中的最大值,min(m) 表示矩阵 m 中的最小值。现在小明想要从这个矩阵中找到一个稳定度不大于 limit 的子矩阵,同时他还希望这个子矩阵的面积越大越好(面积可以理解为矩阵中元素个数)。

子矩阵定义如下:从原矩阵中选择一组连续的行和一组连续的列,这些行列交点上的元素组成的矩阵即为一个子矩阵。 

输入

第一行输入两个整数 N,M,表示矩阵的大小。

接下来 N 行,每行输入 M 个整数,表示这个矩阵。

最后一行输入一个整数 limit,表示限制。 

输出
输出一个整数,分别表示小明选择的子矩阵的最大面积。 
样例输入
3 4
2 0 7 9
0 6 9 7
8 4 6 4
8
样例输出
6
提示

满足稳定度不大于 8 的且面积最大的子矩阵总共有三个,他们的面积都是 6(粗体表示子矩阵元素):

2 0 7 9
0 6 9 7
8 4 6 4

2 0 7 9
0 6 9 7
8 4 6 4

2 0 7 9
0 6 9 7
8 4 6 4

蓝桥杯2022年第十三届省赛真题最大子矩阵
对于所有评测用例,0 ≤ 矩阵元素值, limit ≤ 105


比赛公告

简介

Dotcpp编程2022年九月月赛,欢迎大家踊跃报名参赛!

本次月赛将于2022年9月24日(星期六)进行,时间为晚上19:00 - 22:00,共计3小时。


题目

本次月赛共有五道题,比赛结束后欢迎提交题解。


奖品

赛后提交题解并获得优质题解的小伙伴将获得小礼品一份~


生命不息,刷题不止!


PS:Dotcpp支持创建自主比赛,适合社团、老师教学训练,欢迎使用!