#5251. Avoid Rook Attack

0

Avoid Rook Attack

Avoid Rook Attack

题目描述

有一个由 88 行 88 列组成的 6464 个方格的棋盘。 记 (i,j)(i,j) 为从上数第 ii 行 (1≤i≤8)(1\leq i\leq8)、从左数第 jj 列 (1≤j≤8)(1\leq j\leq8) 的方格。 每个方格要么是空的,要么放有一个棋子。 方格的状态由一列由 88 个长度为 88 的字符串组成的序列 (S1,S2,S3,…,S8)(S_1,S_2,S_3,\ldots,S_8) 表示。 若 SiS_i 的第 jj 个字符为 ..,则方格 (i,j)(i,j) (1≤i≤8,1≤j≤8)(1\leq i\leq8,1\leq j\leq8) 是空的;若为 #,则该方格上有棋子。 你想把你的棋子放在一个 空方格 上,使得它 不能被任何已有的棋子吃掉。 放在方格 (i,j)(i,j) 的棋子可以吃掉满足以下任一条件的棋子:

放在第 ii 行的方格上 放在第 jj 列的方格上

例如,放在方格 (4,4)(4,4) 的棋子可以吃掉下图中蓝色所示的那些方格上的棋子: 你可以把你的棋子放在多少个方格上?

输入格式

输入从标准输入给出,格式如下: S1S_1 S2S_2 S3S_3 S4S_4 S5S_5 S6S_6 S7S_7 S8S_8

输出格式

输出你可以把棋子放在而不会被已有棋子吃掉的空方格的数量。

...#....
#.......
.......#
....#...
.#......
........
........
..#.....
4
........
........
........
........
........
........
........
........
64
.#......
..#..#..
....#...
........
..#....#
........
...#....
....#...
4

提示

每个 SiS_i 都是由 .. 和 # 组成的长度为 88 的字符串 (1≤i≤8)(1\leq i\leq 8)。已有的棋子可以吃掉下图中蓝色所示的那些方格上的棋子: 因此,你可以把棋子放在不会被吃掉的 44 个方格上:方格 (6,6)(6,6)、方格 (6,7)(6,7)、方格 (7,6)(7,6) 和方格 (7,7)(7,7)。
棋盘上也可能没有任何棋子。

标签: AtCoder|abc377B

来源

AtCoder|abc377B