#aBC300C. [ABC300C] Cross
[ABC300C] Cross
AT_abc300_c [ABC300C] Cross
题目描述
有一个高 行、宽 列的网格。我们称网格从上到下第 行、从左到右第 列的格子为 。
每个格子上写有 # 或 .。记 上写的字符为 。另外,如果整数 不满足 或 ,则定义 。
当正整数 满足以下所有条件时,称 个格子 以及 ()组成了以 为中心、大小为 的“バツ印”:
- 为
#。 - 对于所有满足 的整数 , 都为
#。 - $C[a+n+1][b+n+1], C[a+n+1][b-n-1], C[a-n-1][b+n+1], C[a-n-1][b-n-1]$ 中至少有一个为
.。
例如,下图中,存在以 为中心、大小为 的“バツ印”,以及以 为中心、大小为 的“バツ印”。

网格上有若干个“バツ印”。除了组成“バツ印”的格子外,没有其它格子上写有 #。
此外,不同“バツ印”所占据的格子不会在顶点处相交。下图是两个不同“バツ印”在顶点处相交的例子,这样的网格不会作为输入给出。例如左图中, 和 在顶点处相交,违反了条件。

令 。记大小为 的“バツ印”个数为 。请计算 。
输入格式
输入从标准输入读入,格式如下:
输出格式
请输出 ,用空格分隔。
输入输出样例 #1
输入 #1
5 9
#.#.#...#
.#...#.#.
#.#...#..
.....#.#.
....#...#
输出 #1
1 1 0 0 0
输入输出样例 #2
输入 #2
3 3
...
...
...
输出 #2
0 0 0
输入输出样例 #3
输入 #3
3 16
#.#.....#.#..#.#
.#.......#....#.
#.#.....#.#..#.#
输出 #3
3 0 0
输入输出样例 #4
输入 #4
15 20
#.#..#.............#
.#....#....#.#....#.
#.#....#....#....#..
........#..#.#..#...
#.....#..#.....#....
.#...#....#...#..#.#
..#.#......#.#....#.
...#........#....#.#
..#.#......#.#......
.#...#....#...#.....
#.....#..#.....#....
........#.......#...
#.#....#....#.#..#..
.#....#......#....#.
#.#..#......#.#....#
输出 #4
5 0 1 0 0 0 1 0 0 0 0 0 0 0 0
说明/提示
限制条件
- 为
#或. - 不同“バツ印”所占据的格子不会在顶点处相交
- 为整数
样例解释 1
如题目描述所示,存在以 为中心、大小为 的“バツ印”,以及以 为中心、大小为 的“バツ印”。
样例解释 2
也有可能没有任何“バツ印”。
由 ChatGPT 4.1 翻译