天天看點

python 回溯法 子集樹模闆 系列 —— 1、8 皇後問題

8×8格的國際象棋上擺放八個皇後,使其不能互相攻擊,即任意兩個皇後都不能處于同一行、同一列或同一斜線上,問有多少種擺法。

python 回溯法 子集樹模闆 系列 —— 1、8 皇後問題

為了簡化問題,考慮到8個皇後不同行,則每一行放置一個皇後,每一行的皇後可以放置于第0、1、2、...、7列,我們認為每一行的皇後有8種狀态。那麼,我們隻要套用子集樹模闆,從第0行開始,自上而下,對每一行的皇後,周遊它的8個狀态即可。

python 回溯法 子集樹模闆 系列 —— 1、8 皇後問題