C語言 資料結構 遞迴求解例項 8皇后問題

2021-07-16 08:52:50 字數 840 閱讀 3660

1. 目標

運用遞迴對8皇后問題進行求解(也可以推廣到n皇后問題),輸出每種棋子放置的位置和解的總數。

2. 執行示例

以4皇后問題為例。

3. 源**

#include#define title "------------------------------life is a fight!------------------------------------"

#define n 4 //n 個皇后

int count=0;

//在當前chess 棋盤下,對 row, col 位置進行檢查,是否可以放棋子

int select(int row, int col, int(*chess)[n])

}for(i=row;i=0&&1==*(*(chess+i)+(col+row-i)))

}if(flag1||flag2||flag3||flag4||flag5)

return 1;

else

return 0;

}//在chess棋盤下,對第row行進行遞迴

void queen(int row, int (*chess)[n])

{ int tchess[n][n];

int i, j;

for(i=0;i

C語言 資料結構 遞迴相關問題

遞迴 int bina search int str,int key,int low,int high if str mid key if str mid key if str mid key include intbina search int str,int key,int low,int hi...

C語言資料結構之遞迴部分

陣列遞迴 逆序輸出 include void preprint int a,int n int main preprint a,6 return 0 void preprint int a,int n 逆序輸出2 include void preprint int a,int n int main ...

C語言資料結構 快速排序例項詳解

c語言資料結構 快速排序例項詳解 一 快速排序簡介 快速排序採用分治的思想,第一趟先將一串數字分為兩部分,第一部分的數值都比第二部分要小,然後按照這種方法,依次對兩邊的資料進行排序。二 實現 include 將兩個資料交換 void swap int ina int inb 程式設計客棧 進行一趟的...