AT_highrate2025_e ブースの配置

题目描述

有一个由 $H \times W$ 的网格表示的会场。从上到下的第 $i$ 行,从左到右的第 $j$ 列的格子记作 $(i,j)$。如果 $S_{i,j}$ 是 `#`,则该格子为墙;如果是 `.`,则该格子为空地,可以通行。 你要在会场的空地格子中选择 $3$ 个格子设置展位。请计算有多少种设置展位的方法满足下列条件。需要注意的是,展位彼此之间没有区别。 - 存在一个格子 $(r,c)$,同时满足如下条件: - 格子 $(r,c)$ 既不是墙,也没有展位。 - 对于每一个展位,都存在从格子 $(r,c)$ 出发,经过若干次移动到上下左右相邻且既不是墙也没有展位的格子,最终能够到达该展位上下左右相邻的格子的位置(可以重复经过格子或者不移动)。

输入格式

输入从标准输入按以下格式给出。 > $H$ $W$ > $S_{1,1}S_{1,2}\ldots S_{1,W}$ > $S_{2,1}S_{2,2}\ldots S_{2,W}$ > $\vdots$ > $S_{H,1}S_{H,2}\ldots S_{H,W}$

输出格式

请输出答案。

说明/提示

## 样例解释 1 有如下 $2$ 种配置满足条件。展位所在的格子用 `B` 表示。 ``` #B. #.B B.# B.# #B# #B# ``` 在这两种配置下,从格子 $(2,2)$ 出发,都可以到达所有展位相邻的格子。 ## 样例解释 2 不存在满足条件的展位配置方式。因此,请输出 $0$。 ## 数据范围 - $2\le H,W\le 8$ - $H,W$ 均为整数 - $S_{i,j}$ 仅为 `#` 或 `.` - 满足 $S_{i,j} = . $ 的格子数量不少于 $3$。 由 ChatGPT 5 翻译