#P1861. 拯救指挥部

拯救指挥部

题目描述

指挥部被突来的洪水淹没,好在部分重要位置修建了围墙(用星号 * 表示),由星号形成的封闭区域洪水无法进入。现在给出一张 xxyy 列的指挥部围墙建设图,图中用 0 表示重要区域,请你求出没有被洪水淹没的重要区域(即被 * 围住的 0)的数量。

洪水从整张图的边界外进入,围墙 * 会阻挡洪水,洪水无法越过围墙,但可以通过没有围墙的边界渗透进与边界连通的区域。如果某个 0* 完全包围(即不与边界连通),则它不会被淹没。

输入格式

第一行包含两个整数 xxyy,分别表示围墙建设图的行数和列数。

接下来 xx 行,每行包含 yy 个字符,字符仅为 *0,表示对应位置是围墙还是重要区域。

输出格式

输出一行一个整数,表示没有被洪水淹没的 0 的数量。

样例

4 5
00000
00*00
0*0*0
00*00
1
5 5
*****
*0*0*
**0**
*0*0*
*****
5

样例解释

样例 1:只有正中间的 0(第 3 行第 3 列)被 * 完全包围,不会被洪水淹没,其余 0 均与边界连通,会被淹没。故答案为 11

样例 2:整张图的边界全为 *,洪水无法进入任何内部区域,所有 0 均被围住,共 55 个,故答案为 55

数据范围与提示

  • 1x,y5001 \le x, y \le 500
  • 保证输入的围墙建设图只包含字符 *0