n-皇后問題是指將 n 個皇后放在 n∗n 的西洋棋棋盤上,使得皇后不能相互攻擊到,即任意兩個皇后都不能處於同一行、同一列或同一斜線上。
現在給定整數n,請你輸出所有的滿足條件的棋子擺法。
輸入格式
共一行,包含整數n。
輸出格式
每個解決方案佔n行,每行輸出乙個長度為n的字串,用來表示完整的棋盤狀態。
其中」.」表示某乙個位置的方格狀態為空,」q」表示某乙個位置的方格上擺著皇后。
每個方案輸出完成後,輸出乙個空行。
注意:行末不能有多餘空格。
輸出方案的順序任意,只要不重複且沒有遺漏即可。
資料範圍
1≤n≤9
輸入樣例:
4輸出樣例:
.q……q
q……q.
…q.q…
…q.q…
#include
#include
using
namespace std;
const
int n =
100010
;int n, tra[n]
;bool flag[n]
, check1[n]
, check2[n]
;void
draw()
cout << endl;
} cout << endl;
}void
dfs(
int x)
for(
int i =
1; i <= n ; i ++)}
intmain()
Acwing 843 n 皇后問題
八皇后問題 113501904這道題看起來很難,當解決完八皇后問題的時候,其實再做這道題,就很容易ac了,因為只要注意對角線的標記,還有反對角線的標記以及各列的標記,相對於八皇后多了乙個輸出圖形,那我們需要新開乙個陣列儲存每一行用的列數,直到滿足條件的時候直接輸出。如下 include using ...
AcWing843 n 皇后問題 DFS
題目 acwing843 n 皇后問題 dfs模板題目。n 皇后問題是指將 n 個皇后放在 n n 的西洋棋棋盤上,使得皇后不能相互攻擊到,即任意兩個皇后都不能處於同一行 同一列或同一斜線上。現在給定整數n,請你輸出所有的滿足條件的棋子擺法。輸入格式 共一行,包含整數n。輸出格式 每個解決方案佔n行...
N皇后問題
include define maxqueens 20 define minqueens 4 enum bool typedef struct queendata queendata queendata queens maxqueens 1 int ncount init int init chec...