单点时限: 1.0 sec
内存限制: 256 MB
有一张 $n$ 行 $m$ 列的方格纸,每个格子是空位或障碍,分别用 .
和 #
表示。
一个十字由一排水平的格子和一排竖直的格子(分别称为横行、纵列)交错形成。例如下图中就是一个十字:
合法的十字还需要满足一些条件:
我们称一个十字是逆十字,当且仅当不存在比它大的十字完全包含它。
现在,Cuber QQ 想让你数出逆十字的数量。
第一行两个整数 $n, m$($1 \le n, m \le 100$)。
接下来 $n$ 行,每行一个长为 $m$ 的字符串,其中第 $i$ 行第 $j$ 列的字符表示方格纸中第 $i$ 行第 $j$ 列的状态。
一行一个整数,表示答案。
5 5 ##.## #...# ..... #...# ##.##
5
图中有 $6$ 个十字,但是位于中央的一个小十字被大十字所包含,所以逆十字只有 $5$ 个。