QOJ.ac

QOJ

Limite de temps : 6.0 s Limite de mémoire : 1024 MB Points totaux : 100

#8507. 聪明的单元格选择

Statistiques

两个玩家在一个 $N \times M$ 的网格上进行如下游戏:

  • 初始时,网格中的每个格子要么是空的,要么是被占用的。
  • 玩家轮流在空位上放置一颗棋子,该格子随后被占用。除了第一颗棋子可以放置在任意空位外,后续每一颗新放置的棋子必须与上一颗放置的棋子相邻。如果两个格子共用一条边,则称它们相邻。
  • 当玩家无法按照上述规则放置棋子时,游戏结束。此时,无法放置棋子的玩家输掉游戏,另一名玩家获胜。

如果先手玩家在某个空位放置第一颗棋子后,假设双方均采取最优策略,先手玩家能够获胜,则称该起始格为获胜起始格。给定初始网格的描述,你需要计算它有多少个获胜起始格。

输入格式

第一行包含两个整数 $N$ 和 $M$ ($1 \le N, M \le 50$),表示网格的尺寸。 接下来的 $N$ 行,每行包含一个长度为 $M$ 的字符串。第 $i$ 个字符串的第 $j$ 个字符描述了格子 $(i, j)$ 的初始状态。字符为 “.”(点)表示空位,字符为 “#”(井号)表示被占用的格子。

输出格式

输出一行,包含一个整数,表示获胜起始格的数量。

样例

样例输入 1

3 3
#.#
...
#.#

样例输出 1

4

样例输入 2

3 3
..#
...
...

样例输出 2

0

样例输入 3

1 4
...#

样例输出 3

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.