五皇后问题,谁来挑战一下。
在国际象棋中,皇后(Queen,Q)这一棋子的行动和攻击方式为︰沿行或列或任意方向对角线(主对角线或副对角线)直行任意格数。如下图(a)中,位于e5格点的皇后,可以攻击任意圈出的格点目标。未圈出的格点则为“安全格点"。要求:在8x8棋盘上放置五个皇后,使得棋盘上无安全格点。找出所有独立解并以简化形式输出。用c++来解。
(独立解的含义是,给定任意两个解,若这两个解互相不能通过旋转变换(90°,180°,270°)或镜像变换(水平、垂直)或以上变换的组合变为对方,则称这两个解互相独立。如下图中,(c)和(d)中的解呈水平镜像关系,因此实质上是同一个解;(c)和(e)中的解不能通过以上变换变成对方,因此互相独立。)
该问题共有4860种可能的布置方案,其中包含638个独立解。
要求用c++来解,若答出,请在回复区回复源码。
简化形式样例(Q为皇后位置):
* * * * * * * *
* * * * * Q * *
* * Q * * * * *
* * * * Q * * *
* * * * * * Q *
* * * Q * * * *
* * * * * * * *
* * * * * * * *
[此贴子已经被作者于2021-12-22 20:29编辑过]