洛谷,八皇后問題P1219,遞迴回溯

2021-10-09 02:59:10 字數 622 閱讀 7145

八皇后問題

#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 ...