A71691 | 面积的最大差值
来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
用一个 M 行 N 列的矩形网格表示某群岛疆域的地形图,每个小格子里都有一个数字 1 或者 0,其中,0 表示海水(蓝色),1 表示陆地(绿色),并且矩形网格之外的部分都为海水。每个小格子面积为 1,已知每个岛屿都是由 1 个或多个竖直或水平相邻的陆地小格子组成(斜向不算相邻),且周围都是海水。那么请你计算图中面积最大的岛屿与面积最小的岛屿之间的面积差值。
例如:M=6,N=8 时,群岛疆域示意图如下:

其中,有 5 个岛屿,面积分别是 1,3,4,7,4,最大的岛屿面积是 7 ,最小的岛屿面积是 1 ,面积差是 7-1=6。
输入格式
第一行输入两个正整数 M 和 N(3 \le M \le 1000,3 \le N \le 1000),表示网格行数与列数,两数之间用一个空格隔开。
接下来输入 M 行,每行 N 个整数,表示地形图(1 表示陆地,0 表示海水),两个整数之间用一个空格隔开。
输出格式
输出一个整数,表示面积最大的岛屿与面积最小的岛屿之间的面积差。
输入输出样例
输入 #1
6 8 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 0
输出 #1
6
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?