递归 八皇后问题的一些思考
大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!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