8皇后問題

2021-06-06 03:41:34 字數 737 閱讀 6729

會下西洋棋的人都很清楚:皇后可以在橫、豎、斜線上不限步數地吃掉其他棋子。如何將8個皇后放在棋盤上(有8 * 8個方格),使它們誰也不能被吃掉!這就是著名的八皇后問題。 

對於某個滿足要求的8皇后的擺放方法,定義乙個皇后串a與之對應,即a=b1b2...b8,其中bi為相應擺法中第i行皇后所處的列數。已經知道8皇后問題一共有92組解(即92個不同的皇后串)。

給出乙個數b,要求輸出第b個串。串的比較是這樣的:皇后串x置於皇后串y之前,當且僅當將x視為整數時比y小。

輸入:第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙個正整數b(1 <= b <= 92)

輸出:輸出有n行,每行輸出對應乙個輸入。輸出應是乙個正整數,是對應於b的皇后串。

樣例輸入:

2

192

樣例輸出:

15863724

84136275#include#include#includeusing namespace std;

int num,all,n;

int col[92];

int x[8];

bool check(int t)

for(int i=0;i<8;i++) }}

int main()

return 0;

}

8皇后問題

8 皇后問題 描述 八皇后問題是大數學家高斯於1850年提出來的。該問題是在8 8的西洋棋棋盤上放置8個皇后,使得沒有乙個皇后能 吃掉 任何其他乙個皇后,即沒有任何兩個皇后被放置在棋盤的同一行 同一列或同一斜線上。輸出8皇后問題所有結果。輸入 沒有輸入。輸出 每個結果第一行是no n 的形式,n表示...

8皇后問題

8皇后問題 在乙個8 8的棋盤上如何安置8個皇后 不允許任何兩個皇后在同一列,同一行,同一斜線 斜率為正負一 思路 用一維陣列的下標和值表示 皇后的座標 0,0 7,7 例如a 1 0,表示 1,0 暴力8的8次方種情況,用二進位制表示,即00000000 77777777 十進位制表示0 pow ...

8皇后問題

在n n的棋盤上放置彼此不受攻擊的n個皇后,按照西洋棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。n後問題等價於在n n格的棋盤上放置n個皇后,任何2個皇后不放在同一行或同一列或同一斜線上。將每一種方法都輸出 這個問題我在網上看到了大神的方法,下面是 僅限於n 13的情況 n 8時...