NOJ 1007 8皇后問題

2021-10-24 20:07:36 字數 884 閱讀 9587

時限:1000ms 記憶體限制:10000k  總時限:3000ms

描述輸出8皇后問題所有結果。

輸入沒有輸入。

輸出每個結果第一行是no n:的形式,n表示輸出的是第幾個結果;下面8行,每行8個字元,『a』表示皇后,『.』表示空格。不同的結果中,先輸出第乙個皇后位置靠前的結果;第乙個皇后位置相同,先輸出第二個皇后位置靠前的結果;依次類推。

輸入樣例

輸出樣例

輸出的前幾行:

no 1:

a.......

....a...

.......a

.....a..

..a.....

......a.

.a......

...a....

no 2:

a.......

.....a..

.......a

..a.....

......a.

...a....

.a......

....a...

提示輸出樣例是正確輸出結果的前幾行。

**

#include#includeusing namespace std;

int cnt = 0,a[8];//儲存的是每一行中存放皇后的列的位置,如a[1]=8,表示第一行第八列放皇后

//好處,可以直接避免一行出現兩個皇后

bool judge(int sx,int sy)

if(abs(sx - i)==abs(a[i] - sy))

} return true;

}void print()else

} cout

} }}int main()

回溯篇 8皇后NOJ10078

時限 1000ms 記憶體限制 10000k 總時限 3000ms 在8 8 n n 格的西洋棋上擺放n個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。沒有輸入 每個結果第一行是no n 的形式,n表示輸出的是第幾個結果 下面8行,每行8個字元,a 表示...

NOJ1267 N皇后(非位運算)

nqueen問題如果用簡單的條件 即每次準備在第i行上找擺皇后的位置的時候,就從第i行的第0列到第n列 依次找符合條件的點 看和前面已經擺好皇后的i 1個皇后比較,看是否在同一列上是否在同一主對角線或 者副對角線上 搜尋,這個過程耗時較多。解決方法 每放乙個皇后,就將該皇后所在位置的列號作為 lie...

noj演算法題 裝載問題

裝載問題 回溯,子集樹 時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 有兩艘船,載重量分別是c1 c2,n個貨櫃,重量是wi i 1 n 且所有貨櫃的總重量不超過c1 c2。確定是否有可能將所有貨櫃全部裝入兩艘船。輸入 多個測例,每個測例的輸入佔兩行。第一行一次是c1 c...