媳婦多就用分支修剪,解決婆娘紛爭,C語言經典算法之八皇后問題

八皇后問題

媳婦多就用分支修剪,解決婆娘紛爭,C語言經典算法之八皇后問題

 

西洋棋中的皇后可以直線前進,喫掉遇到的所有棋子,如果棋盤上有八個皇后,則這八個皇后如何相安無事的放置在棋盤上,1970年與1971年, E.W.Dijkstra與N.Wirth曾經用這個問題來講解程式設計之技巧。

分支修剪解法

關於棋盤的問題,都可以用遞迴求解,然而如何減少遞迴的次數?在八個皇后的問題中,不必要所有的格子都檢查過,例如若某列檢查過,該該列的其它格子就不用再檢查了,這個方法稱爲分支修剪。

相關源碼

媳婦多就用分支修剪,解決婆娘紛爭,C語言經典算法之八皇后問題

 

運行結果部分實例

No 1

Q . . . . . . .

. . . . Q . . .

. . . . . . . Q

. . . . . Q . .

. . Q . . . . .

. . . . . . Q .

. Q . . . . . .

. . . Q . . . .

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章