S42308.23-8 重开棋局

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

23-8 重开棋局

重开棋局

密钥对齐了,但Echo-0还留下了一个棋局——一个需要重开的棋局。

"棋局?"CC问。

"对。"你说,"一个棋盘,n×mn\times m。两个人轮流放棋子,每次放一个,要求放在空位上。"

"目标?"

"谁没法放谁就输。"你说,"或者,先连成一条线者赢。"

"规则?"

"类似五子棋。"你说,"但更简单——只要求水平或垂直相邻。"

"咋分析?"

"博弈论。"你说,"用SG函数或对称策略。"

"对称?"

"对。"你说,"如果棋盘对称,后手可以模仿先手——先手走哪,后手就走对称位置。"

"那后手赢?"

"对。"你说,"对称棋盘上,后手必胜。"

"不对称呢?"

"复杂。"你说,"需要具体算SG值。"

"第47格。"你说,"(4,7)(4,7)——如果这是棋盘中心,对称轴在哪?"

"中间。"你说,"如果mm是奇数,中间一列是对称轴。"

"m=7m=7?"

"对。"你说,"第4列是对称轴。"

"后手模仿?"

"对。"你说,"先手放(i,j)(i,j),后手放(i,8j)(i,8-j)。"

"总是有空位?"

"对。"你说,"因为对称,先手有的放,后手一定也有。"

CC看着棋盘——像战场,像棋盘,像某种规则明确的世界。

"规则明确。"她说,"好。"

"对。"你说,"规则明确,就能算。"

"算出来就赢?"

"不一定。"你说,"算出来知道谁能赢,但不改变结果。"

"那算有啥用?"

"知道该走哪步。"你说,"如果必赢,就走赢的那步;如果必败,就拖时间。"

Echo把棋局投射出来——黑白交错,像某种永恒的对抗。

"以前我只看一步。"她说,"现在……看整局了。"

"因为我们教你。"CC说。

"对。"Echo说,"因为你们教我。"


题目描述

n×mn\times m棋盘,两人轮流放棋子。每次放在空位上,先连成水平或垂直连续kk个者胜。判断先手是否必胜。

输入格式

一行三个整数n,m,kn,m,k

输出格式

先手必胜输出"Yes",否则输出"No"。


输入样例

5
1 2 3 4 5

输出样例

3

提示

  • 对称策略:棋盘对称时后手必胜。
  • k=1k=1时先手必胜。
  • 其他情况需要具体分析或搜索。

在线编程 IDE

建议全屏模式获得最佳体验