如果使用传统的穷举法去思考这个游戏,大脑会瞬间过载。假设只有 3 行珍珠,数量分别是 3、4、5 颗:
在十进制的视角下,这就像一个无法预测的黑盒。要解开这个死局,我们必须进行一场跨越数学维度的“降维打击”。
终结这个游戏的核心武器,是计算机科学中最优雅的操作之一:按位异或 (XOR,符号为 $\oplus$)。它的规则极度冷酷:相同为 $0$,相异为 $1$。它也被称为“不进位加法”。
现在,我们将 3、4、5 这三行珍珠的数量,抛入二进制的异或空间:
Bouton 定理指出了一个无可辩驳的真理:异或和为 0 是平衡的终极状态(必败态),异或和不为 0 则是破缺状态(必胜态)。
当前的 Nim-Sum 是 $2 \neq 0$。这意味着当前局面是一个“必胜态”。只要你拿得对,就能把一个 Nim-Sum 强制变成 $0$ 的“必败态”扔给对手。
| 操作动作 | 十进制状态 | 二进制异或演算 | Nim-Sum 结果 |
|---|---|---|---|
| 初始状态 (破缺) | 3, 4, 5 | 011 $\oplus$ 100 $\oplus$ 101 | 2 (010) ➔ 必胜态 |
| 你的致胜一步 从第一行拿走 2 颗 |
1, 4, 5 | 001 $\oplus$ 100 $\oplus$ 101 | 0 (000) ➔ 丢给对手必败态 |
| 对手挣扎 被迫从某行拿走任意数量 |
例如从第三行拿3颗 变成 1, 4, 2 |
001 $\oplus$ 100 $\oplus$ 010 | 7 (111) ➔ 再次变回必胜态 |