HD_2553N皇后问题
生活随笔
收集整理的這篇文章主要介紹了
HD_2553N皇后问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
N皇后問題
Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15462????Accepted Submission(s): 7021Problem Description
Problem Description
在N*N的方格棋盤放置了N個皇后,使得它們不相互攻擊(即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。
你的任務是,對于給定的N,求出有多少種合法的放置方法。
Input
共有若干行,每行一個正整數N≤10,表示棋盤和皇后的數量;如果N=0,表示結束。
Output
共有若干行,每行一個正整數,表示對應輸入行的皇后的不同放置數量。
Sample Input
1
8
5
0
Sample Output
1
92
10
?思路:
? ? ? 就是考慮皇后放置的位置,對于每一行,我們需要枚舉每個可以放置皇后的位置,
而且需要判斷當前位置(第i行)是否滿足條件,即判斷這個位置是否與放置好的前i-1行的皇后的位置相沖突,
如果沖突,說明這個位置不合適;否則的話,就可以枚舉下一行皇后的位置,直至第n行。
代碼中也有解釋,代碼如下:
總結
以上是生活随笔為你收集整理的HD_2553N皇后问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NYOJ_5743Distributio
- 下一篇: 项目私活 【抢小米手机软件】可以做的朋友