#RZX4495. 公园规划

公园规划

Problem Description

公园规划

题目背景

在新兴城市的规划中,市政府计划建设若干个公园。为了美观和管理方便,每个公园必须是一个完整的矩形区域,并且公园之间不能相邻(即不能有公共边,但允许对角相邻)。作为一名城市规划师,你需要检查规划是否合理。

题目描述

给定一个 RR 行 CC 列的网格地图,每个格子要么是公园用地(#),要么是其他用地(.)。如果所有公园用地形成的连通块都是矩形,并且任意两个不同的连通块没有公共边,则规划合理。请判断规划是否合理,并输出公园的数量。

输入格式

第一行两个整数 RR 和 CC,表示网格的行数和列数。

接下来 RR 行,每行一个长度为 CC 的字符串,由 # 和 . 组成。

输出格式

如果规划合理,输出一行 There are S parks.,其中 SS 表示公园的数量。否则输出一行 Bad planning.。

输入输出样例 #1

输入 #1

6 8
.....#.#
##.....#
##.....#
.......#
#......#
#..#...#

输出 #1

There are 5 parks.

说明/提示

对于 100%100\% 的数据,1≤R,C≤10001 \le R,C \le 1000。

注意:公园用地连通块是四连通(上下左右),对角线不算连通。两个公园有公共边当且仅当它们上下相邻或左右相邻。