小红的大蘑菇(easy)
题号:NC289284
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}本题与《小红的大蘑菇(hard)》共享题目背景,但是所求内容不同,我们建议您重新阅读题面。

\hspace{15pt}在一个 nm 列的网格里有一些蘑菇,我们使用 (i,j) 表示网格中从上往下数第 i 行和从左往右数第 j 列的单元格。每个方格要么是空地(使用字符 \texttt{`.'} 表示),要么是小蘑菇(使用字符 \texttt{`*'} 表示),要么是大蘑菇(使用字符 \texttt{`\#'} 表示)。
\hspace{15pt}如果一个坐标到全部小蘑菇的曼哈顿距离均大于 1,且到全部大蘑菇的曼哈顿距离均大于 2,那么这个坐标就是安全的。
\hspace{15pt}小红想知道,有多少坐标是安全的?

\hspace{15pt}我们定义,(x_1,y_1)(x_2,y_2)曼哈顿距离|x_1-x_2|+|y_1-y_2|

输入描述:

\hspace{15pt}第一行输入两个正整数 n,m \left(1 \leq n,m \leq 10^3\right) 代表地图的行数、列数。 
\hspace{15pt}此后 n 行,第 i 行输入一个长度为 m 的字符串 s_i,用来表示地图。其中,s_{i,j} = \texttt{`.'} 代表 (i,j) 为空地,s_{i,j} = \texttt{`*'} 代表小蘑菇,s_{i,j} = \texttt{`\#'} 代表大蘑菇。

输出描述:

\hspace{15pt}输出一个整数,表示安全的坐标个数。
示例1

输入

复制
3 3
...
.*.
..#

输出

复制
1

说明

\hspace{15pt}在这个样例中,仅有左上角这一个格子是安全的,其到唯一的小蘑菇的曼哈顿距离为 2,到唯一的大蘑菇的曼哈顿距离为 4