#P1430. 数池塘(八方向)

数池塘(八方向)

题目描述

农夫约翰的农场可以表示成 N×MN\times M1N1001\le N\le 1001M1001\le M\le 100)个方格组成的矩形。由于近日的降雨,在约翰农场上的不同地方形成了池塘。每一个方格或者有积水(W)或者没有积水(.)。农夫约翰打算数出他的农场上共形成了多少池塘。一个池塘是一系列相连的有积水的方格,每一个方格周围的八个方格(上、下、左、右、左上、右上、左下、右下)都被认为是与这个方格相连的。现给出约翰农场的图样,要求输出农场上的池塘数。

输入格式

11 行:由空格隔开的两个整数 NNMM

2N+12\sim N+1 行:每行 MM 个字符代表约翰农场的一排方格的状态。每个字符或者是 W 或者是 .,字符之间没有空格。

输出格式

输出一行一个整数,表示约翰农场上的池塘数。

样例

3 3
W.W
.W.
W.W
1

样例解释
3×33\times 3 的网格中,虽然 W. 分隔,但由于它们是八连通的(对角也算相连),所有 W 通过斜角连接成同一个池塘,因此池塘数为 11

5 4
W...
.W..
..W.
...W
....
1

样例解释
沿着对角线的四个 W 也是八连通的,因此只有一个池塘。

数据范围与提示

  • 1N,M1001 \le N, M \le 100