#abc300c. [abc300_c]Cross
[abc300_c]Cross
问题描述
我们有一个 行 列的网格。我们用 来表示网格中从上到下第 行,从左到右第 列的单元格。
网格中的每个单元格上都写有符号 #
或 .
。设 是 上的符号。对于整数 和 ,如果至少有一个违反 和 的条件,则定义 为 .
。
当满足以下所有条件时,由 和 这 个方块(其中 ),称为以 为中心,大小为 的十字架:
- 是
#
。 - 对于所有整数 ,满足 , 和 都是
#
。 - 和 中至少有一个是
.
。
例如,在以下网格中,以 为中心的大小为 的十字架,以及以 为中心的大小为 的十字架。
网格上有一些十字架。除了构成十字架的单元格外,其他单元格上没有 #
。
此外,组成两个不同十字架的方块不共享一个角落。以下示例网格是两个共享一个角落的不同十字架的示例;这样的网格不作为输入给出。例如,左侧的网格无效,因为 和 共享一个角落。
设 , 是大小为 的十字架的数量。找到 。
约束条件
- 是
#
或.
。 - 组成两个不同十字架的方块不共享一个角落。
- 和 是整数。
输入
输入以以下格式从标准输入中给出:
输出
以空格分隔,输出 。
示例输入 1
5 9
#.#.#...#
.#...#.#.
#.#...#..
.....#.#.
....#...#
示例输出 1
1 1 0 0 0
如问题描述所述,在 处有一个以大小为 的十字架,还有一个以大小为 的十字架,中心坐标为 。
示例输入 2
3 3
...
...
...
示例输出 2
0 0 0
可能没有任何十字架。
示例输入 3
3 16
#.#.....#.#..#.#
.#.......#....#.
#.#.....#.#..#.#
示例输出 3
3 0 0
示例输入 4
15 20
#.#..#.............#
.#....#....#.#....#.
#.#....#....#....#..
........#..#.#..#...
#.....#..#.....#....
.#...#....#...#..#.#
..#.#......#.#....#.
...#........#....#.#
..#.#......#.#......
.#...#....#...#.....
#.....#..#.....#....
........#.......#...
#.#....#....#.#..#..
.#....#......#....#.
#.#..#......#.#....#
示例输出 4
5 0 1 0 0 0 1 0 0 0 0 0 0 0 0