八皇后問題
#include
#include
using
namespace std;
const
int n =14;
int n;
bool visited[3]
[n*n]
;// visited[0][i] 表示第i列 時候被佔
// visited[1][x] 表示主對角線(左上到右下)是否被佔,原理是 主對角線上 行號 - 列號是乙個常數 (-7 到 7)
// visited[2][x] 表示副對角線(左上到右下)是否被佔,原理是 副對角線上 行號 + 列號是乙個常數 (0 到 14)
int c[n]
;// 記錄搜尋路徑
int total =0;
// 總解數
void
search
(int row)
// 第幾行
cout << endl;
}return;}
for(
int i =
0; i < n; i++)}
}int
main()
洛谷p1219 八皇后問題
題目描述 檢查乙個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行 每列有且只有乙個,每條對角線 包括兩條主對角線的所有平行線 上至多有乙個棋子。上面的布局可以用序列2 4 6 1 3 5來描述,第i個數字表示在第i行的相應位置有乙個棋子,如下 行號 1 2 3 4 5 6 列號 2 ...
八皇后問題 洛谷P1219
檢查乙個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行 每列有且只有乙個,每條對角線 包括兩條主對角線的所有平行線 上至多有乙個棋子。上面的布局可以用序列2 4 6 1 3 5來描述,第i個數字表示在第i行的相應位置有乙個棋子,如下 行號 1 2 3 4 5 6 列號 2 4 6 1...
洛谷 P1219 八皇后
題目描述 檢查乙個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行 每列有且只有乙個,每條對角線 包括兩條主對角線的所有平行線 上至多有乙個棋子。上面的布局可以用序列2 4 6 1 3 5來描述,第i個數字表示在第i行的相應位置有乙個棋子,如下 行號 1 2 3 4 5 6 列號 2 ...