在峰会期间,武装部队处于高度戒备状态:警察监视每一条大街,军队保卫建筑物,领空布满F-2003飞机,巡洋船只和舰队被派去保护海岸线。由于国防海军部仅有少量军官能指挥大型海战,因此选择“海战”游戏来培养新的海军指挥官。
在海战游戏中,方形棋盘上放置着若干船只,船只之间不能相互接触。本题中船只均为轴对齐的矩形(由#字符组成),#表示船体,.表示水域。请编写程序判断棋盘上的船只摆放是否合法,若合法则统计船只总数。
第一行包含两个用空格分隔的整数R和C(1 ≤ R,C ≤ 1000),分别表示棋盘的行数和列数。
接下来R行,每行包含C个字符,每个字符为#(船体)或.(水域)。
若船只摆放合法(所有船只均为完整矩形,且不同船只的#没有上下或左右相邻),则输出There are S ships.,其中S为船只总数;否则输出Bad placement.。
6 8
.....#.#
##.....#
##.....#
.......#
#......#
#..#...#
There are 5 ships.