星战谜题怎么解:两颗星,互不相邻
阅读约 5 分钟 ·
星战谜题就是星星翻倍的皇后谜题:每一行、每一列、每个框出的区域各放两颗星,而且任何两颗星都不能相邻,斜向也不行。这一点变化让推理更深入,因为你要追踪的是成对的位置,而不是单个棋子。
如果你会玩皇后谜题,所有思路都能直接用。这篇教程补充双星特有的技巧。
规则
- 每一行、每一列、每个框出的区域恰好放两颗星。
- 星星之间不能相邻,对角接触也不行。
- 盘面有 8×8 和经典的 10×10,每道题都只有唯一解。
2×2 方块最多只能放一颗星
2×2 方块里任意两格都相邻,所以一个 2×2 方块里最多只能放一颗星。这个简单的事实就是星战谜题的引擎:
- 一个区域不可能只是一个 2×2 方块,因为它放不下两颗星。所以一个大部分是 2×2 方块的区域,一定有一颗星在方块之外。
- 用 2×2 方块覆盖两行:10×10 盘面的两行可以分成五个方块,这两行需要四颗星,所以五个方块里有四个各放一颗星。
用区域数对比行数
皇后谜题的计数法则在这里翻倍:如果 k 个区域完全位于 k 行之内,它们就用掉了这几行全部的 2k 颗星,这几行里的其他格子都是空的。列也一样,反过来也成立:如果 k 行完全位于 k 个区域之内,这些区域的其余部分就是空的。
放下一个区域的两颗星
当一个区域只剩下几格时,列出两颗星在里面互不相邻的所有放法。每种放法都包含的格子就是星,任何放法都不包含的格子就是空的。比如,一个区域挤成一排四格时,两颗星只能放在第 1 和 3 格、第 1 和 4 格,或第 2 和 4 格。
放好一颗星后,标记它周围的八格。一行、一列或一个区域放好第二颗星后,把它剩下的格子都标记掉。
解题流程
- 标记和小区域每一格都相邻的格子。
- 找出位于 k 行或 k 列之内的 k 个区域。
- 把狭窄的地方分成 2×2 方块,数一数它们必须放几颗星。
- 列出快满的区域里两颗星的所有放法。
- 在每颗星周围做标记,一条线或一个区域放满两颗星就把剩下的格子标掉。
练习
在 Puzzimo 上,单击格子标记 ✕(再点一次取消),双击放置星星,拖动可以一次标记多格。把星星放在答案里没有星的格子上算一次失误:会提示出来并改成标记,第三次失误这一局就结束。每日挑战是 8×8。
常见问题
为什么 2×2 的方块只能放一颗星?
2×2 方块里任意两格都相邻(至少是斜向相邻),而星星不能相邻,所以任何 2×2 方块里最多只能放一颗星。
星战谜题比皇后谜题难吗?
通常是的。每行、每列、每个区域都要放两颗星,你要追踪成对的位置而不是单个格子,计数推理也要同时跨越更多行。
10×10 的星战谜题从哪里开始?
从最小或最拥挤的区域开始,再找正好位于同样多行或列里的一组区域。别的都不管用时,把两行分成五个 2×2 方块会有帮助。