媳妇多就用分支修剪,解决婆娘纷争,C语言经典算法之八皇后问题
2019-03-28 本文已影响2人
C语言基础
八皇后问题
行文不易,新手上路,多多关注,这真的对我很重要,私信更有惊喜
西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。
分支修剪解法
关于棋盘的问题,都可以用递回求解,然而如何减少递回的次数?在八个皇后的问题中,不必要所有的格子都检查过,例如若某列检查过,该该列的其它格子就不用再检查了,这个方法称为分支修剪。
相关源码
行文不易,新手上路,多多关注,这真的对我很重要,私信更有惊喜运行结果部分实例
No 1
Q . . . . . . .
. . . . Q . . .
. . . . . . . Q
. . . . . Q . .
. . Q . . . . .
. . . . . . Q .
. Q . . . . . .
. . . Q . . . .