P15117 [ICPC 2024 LAC] Clever Cell Choices

题目描述

两个玩家在一个 $N \times M$ 的网格上进行如下游戏: - 初始时,网格中的每个单元格要么是空的,要么被占据。 - 玩家轮流在一个空单元格上放置一颗棋子,占据该单元格。除了起始棋子可以放在任意空单元格外,每颗新放置的棋子必须与上一颗放置的棋子相邻。如果两颗棋子所在的单元格共享一条边,则它们相邻。 - 一旦有玩家无法根据上述规则放置棋子,游戏立即结束。此时,无法放置棋子的玩家输掉游戏,另一名玩家获胜。 一个**必胜起始单元格**是指:如果先手玩家将起始棋子放在该单元格上,并且双方都采取最优策略,那么先手玩家能够赢得游戏。给定初始网格的描述,你需要计算它有多少个必胜起始单元格。

输入格式

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

输出格式

输出一行一个整数,表示必胜起始单元格的数量。

说明/提示

翻译由 DeepSeek V3 完成