八皇后
皇后可以沿所在的行、列和两条斜线攻击。你能在棋盘上放下八个皇后,让它们互不攻击吗?共有 92 种放法;如果把旋转和镜像算作同一种,则有 12 种。你可以自己放置皇后,也可以观看回溯一步一步地找到它们。 点击一个格子放置皇后,再点一次就把它拿走。任意两个皇后都不能在同一行、同一列或同一斜线上。“求解”一步一步展示回溯搜索,并保留你的皇后。“下一个解”按顺序浏览每一个解。
它是如何运作的
- 点击一个格子放置皇后。它攻击的格子会标上圆点,安全的格子就一目了然。
- 放好全部八个皇后,任意两个都不在同一行、同一列或同一斜线上。互相攻击的皇后会变红。
- 按“求解”观看回溯,或按“下一个解”查看全部 92 个解,然后保存 PNG。
规则
皇后可以沿行、列或斜线走任意距离。八个皇后放在八行上,意味着每一行、每一列恰好有一个皇后,所以真正的难点在于斜线。“大小”可以把棋盘从 4×4 改到 12×12,皇后数始终和行数相同。
一步一步回溯
“求解”逐行填充棋盘。在每一行,它把皇后放在第一个安全的格子上。当某一行已没有安全的格子时,它就收回上一行的皇后,把它往后移。蓝色条带标出它正在处理的那一行,“步数”统计每一次放下或收回皇后。在空的 8×8 棋盘上,找到第一个解需要 218 步。
12 个组中的 92 个解
把一个解旋转四分之一圈,或在镜子中翻转,就会得到另一个解,所以 92 个解可以分成若干组。一共有 12 个组:十一个各有 8 个成员,一个只有 4 个,它的解旋转半圈后看起来不变。
常见问题
八皇后问题有多少个解?
92 个。如果把互为旋转或镜像的解算作同一个,则有 12 个。
每种大小的棋盘都有解吗?
从 4×4 起,每种棋盘都有解;2×2 和 3×3 没有解。6×6 棋盘很特别:它只有 4 个解,比 5×5 棋盘的 10 个还少。
“步数”统计的是什么?
搜索放下的每一个皇后和收回的每一个皇后。你自己放的皇后会留在原处,搜索会绕开它们进行。
为什么“求解”说没有能保留我这些皇后的解?
有些摆法即使还没有任何两个皇后互相攻击,也无法补全。搜索已经试过填满剩余各行的所有方式。移走一个皇后再试一次。
这会上传什么吗?
不会。棋盘画在你浏览器里的画布上。“保存”会下载 PNG。“编辑”会在 PictorX 编辑器中打开那张图。
准备好尝试了吗?
在浏览器中打开 PictorX — 无需安装,无需信用卡即可启动。
前往编辑器