B. Avoid Rook Attack

    Type: Default 1000ms 256MiB

Avoid Rook Attack

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

AT_abc377_b [ABC377B] Avoid Rook Attack

题目描述

有一个由 8888 列共 6464 个格子组成的棋盘。我们将从上往下的第 ii 行(1i81\leq i\leq 8)、从左往右的第 jj 列(1j81\leq j\leq 8)的格子称为格子 (i,j)(i,j)

每个格子要么是空格,要么已经有棋子放置。棋盘的状态由一个长度为 88 的字符串序列 (S1,S2,S3,,S8)(S_1, S_2, S_3, \ldots, S_8) 表示。对于格子 (i,j)(i,j)1i8,1j81\leq i\leq 8, 1\leq j\leq 8),如果 SiS_i 的第 jj 个字符为 .,则该格子为空;如果为 #,则该格子上有一个棋子。

你想在任意一个空格上放置你自己的棋子,并且要保证不会被已经放置的任何棋子吃掉

对于放在 (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

输出格式

输出一个整数,表示可以放置你的棋子且不会被已有棋子吃掉的空格数量。

输入输出样例 #1

输入 #1

...#....
#.......
.......#
....#...
.#......
........
........
..#.....

输出 #1

4

输入输出样例 #2

输入 #2

........
........
........
........
........
........
........
........

输出 #2

64

输入输出样例 #3

输入 #3

.#......
..#..#..
....#...
........
..#....#
........
...#....
....#...

输出 #3

4

说明/提示

限制条件

  • SiS_i 是由 .# 组成的长度为 88 的字符串(1i81\leq i\leq 8

样例解释 1

已经放置的棋子可以吃掉下图中蓝色标记的格子上的棋子。

因此,你可以安全放置棋子的格子为 (6,6)(6,6)(6,7)(6,7)(7,6)(7,6)(7,7)(7,7)44 个格子。

样例解释 2

也有可能没有任何棋子被放置。

由 ChatGPT 4.1 翻译

1206

Not Attended
Status
Done
Rule
IOI
Problem
5
Start at
2025-12-6 14:00
End at
2025-12-6 17:30
Duration
3.5 hour(s)
Host
Partic.
34