A5024 | 减少荒地开垦
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
小明有一大片荒地,可以表示为一个 $n$ 行 $m$ 列的网格图。
现在到了开荒种地的季节,荒地中一些位置存在杂物,对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上下左右四个方向相邻的格子均不存在杂物。
小明需要把整片地里所有可以被开垦的荒地全都开垦一遍,但是小明由于时间问题希望可以开垦尽量少的荒地,决定在地图上的某个位置增加一个新的杂物。请问在增加杂物之后, 需要小明开垦的最少荒地数量是多少?
现在到了开荒种地的季节,荒地中一些位置存在杂物,对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上下左右四个方向相邻的格子均不存在杂物。
小明需要把整片地里所有可以被开垦的荒地全都开垦一遍,但是小明由于时间问题希望可以开垦尽量少的荒地,决定在地图上的某个位置增加一个新的杂物。请问在增加杂物之后, 需要小明开垦的最少荒地数量是多少?
输入格式
第一行包含两个正整数 $n, m$。 $(1 \leq n, m \leq 1000)$
之后 $n$ 行,每行包含一个长度为 $m$ 且仅包含字符
之后 $n$ 行,每行包含一个长度为 $m$ 且仅包含字符
. 和 # 的字符串。如果为 .,代表该位置为荒地;如果为 #,代表该位置为杂物。输出格式
输出一个整数,代表在增加至多一个位置的杂物的情况下,最少能够开垦的荒地数量。
输入输出样例
输入 #1
3 5 ..... .#..# .....
输出 #1
4
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?