递归 八皇后问题的一些思考

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn


如何设计一种方案。在一个无穷大的国际棋盘的每一行每一列里都放置一个皇后,使得所有皇后互相之间都不攻击呢?

早在1986年,Abramson和Yang 给出并证明了一种求N皇后问题解的分治法算法,可以构造出除了2.3.8.9,14.15.26.27,38.39外的任意N值的解。

例如,先给出5皇后问题的一个解,如图1所示。并且非常重要的是,其中一个皇后占据了最左下角的那个格子。

接下来,把5皇后的解扩展到25皇后,而依据则是5皇后本身的布局,如图2所示。
递归 八皇后问题的一些思考

递归 八皇后问题的一些思考

这样一来,同一组里的5个皇后显然不会互相攻击,不同组的皇后之间也不会互相攻击,这便是一个满足要求的25皇后的解了。

以此类推,可扩展成125皇后、625…这样不断地根据已填的部分,成倍地向外扩展,便能生成一个无穷皇后问题的解。


2020年9月28日更

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn