古城供水系统
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
考古队在湖底发现了一座沉入水中的古城。古城的地下蓄水池结构复杂,外围环绕着一圈暗河,泉水一旦流到边界便会顺着暗河流走。
题目描述
古城的地下蓄水池可以用一个 的方格表示。蓄水池中的每个格子分为三种:
#表示石墙,水无法穿过;.表示空地,水可以流过;S表示泉眼,属于空地的一种,是水流的源头。
水从泉眼出发,可以向上、下、左、右四个方向流动,遇到石墙时停止。被泉水覆盖的空地均会成为水域。
古城外围环绕着一圈暗河:所有紧贴地图边界的空地都直接与暗河相连。泉水一旦流到这些格子,就会顺着暗河流走并消失,不会再从这些格子向地图内部扩散,暗河中的水也不计入古城的蓄水量。
请计算古城内部最终能够蓄住水的空地(含泉眼)共有多少个格子。
输入格式
第一行两个整数 。
接下来 行,每行 个字符(不含空格),为 #、.、S 之一。地图中恰好包含一个 S。
输出格式
输出一行一个整数,表示能够蓄住水的空地数量(含泉眼)。若泉水全部流入暗河,则输出 。
样例输入 #1
6 9
.........
.#######.
.#S....#.
.#.....#.
.#######.
.........
样例输出 #1
10
样例说明 #1
泉眼位于一个被石墙完全封闭的内部房间内,房间共有 个空地,且与边界暗河完全隔开,因此这 个格子均可蓄水。房间外的空地均紧贴边界或与边界连通,泉水会流入暗河,不计入答案。
提示
【数据范围】
对于全部测试数据,,地图中恰好包含一个 S。
各子任务如下:
| 子任务编号 | 分值 | |
|---|---|---|
| 1 | 60 | 100 |
| 2 | 40 | 1000 |
冀公网安备13098402000493号