#PN1002. 皇后放置

皇后放置

Description

小 C 在棋盘上玩棋子。

棋盘有 n 行 m 列。现在,棋盘上已经放了若干个皇后。

小 C 想知道,有多少个格子可以再在上面放一个皇后,使得任意两个皇后不能互相攻击?注意你不能在已经有皇后的格子上再放皇后。

注:皇后可以攻击和自己在同一行、同一列或同一对角线上的棋子。

Input Format

第一行两个正整数 n 和 m,表示棋盘的行数和列数。

接下来 n 行,每行包含一个长度为 m 的字符串,依次表示这一行的每个格子有没有放皇后。# 表示格子里已经放了皇后, . 表示格子是空的。

Output Format

输出一行,包含一个整数,表示可以再放一个皇后的格子个数。

4 4
..#.
....
.#..
....
1

Hint

更多测试输入:

3 4

....

..#.

.#..


更多测试输出:

0


对于 30% 的数据,保证1<= n,m<= 100。

对于 60% 的数据,保证 1<= n,m<= 500。

对于所有数据,保证 1<= n,m<= 2000,所有字符串长度均为 m 且只由 # . 构成。


Source

2025年10月NCT-J