3.1 编程题 1
试题名称:荒地开垦
时间限制:1.0 s
内存限制:512.0 MB
3.1.1 题面描述
小杨有一大片荒地,可以表示为一个n行m列的网格图。
小杨想要开垦这块荒地,但荒地中一些位置存在杂物,对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上
下左右四个方向相邻的格子均不存在杂物。
小杨可以选择至多一个位置,清除该位置的杂物,移除杂物后该位置变为荒地。小杨想知道在清除至多一个位置的杂物的情况下,最多能够开垦多少块荒地。
3.1.2 输入格式
第一行包含两个正整数n,m,含义如题面所示。
之后n行,每行包含一个长度为m且仅包含字符.和#的字符串。如果为.,代表该位置为荒地,如果为#,代表该位置为杂物。
3.1.3 输出格式
输出一个整数,代表在清除至多一个位置的杂物的情况下,最多能够开垦的荒地块数。
3.1.4 样例
3.1.5 输入样例1
3.1.6 输出样例1
3.1.7 样例解释
移除第二行从左数第二块空地的杂物后:
第一行从左数前4块荒地,第二行从左数前3块荒地,第三行从左数前4块荒地,均可开垦,4+3+4=11。
3.1.8 数据范围
对于全部数据,保证有1≤n,m≤1000。