經過修改的八皇后最精簡的實現,總共有92種解法,也就50行**。
**是簡單的,少量的,但是思考的過程確實非常曲折的,繁複的,之前實現的八皇后太過低效和雜亂,主要是因為自身的思考能力還不強,這次作了徹底的修改,同時把以前實現的**也發到了blog上,作為以後可供參考的教訓。本篇是最終的最精減的**:
/*
8 queens final version 1.9.1
chessboard:row number[1-8],column number[1-8]
*/
#include #include void put_queens(int chessbd,int rnum);
int test(int chessbd,int rnum,int pos );
static int count = 0;
int chessbd[9]; //if it is put in main(),then it is a local variable.[remember to initialize]
void put_queens(int chessbd,int rnum)else
} }
}
int test(int chessbd,int rnum,int pos )
} return ret;
}
int main(int argc,char* argv)
八皇后問題的進化 3 最終的最精簡的實現
經過修改的八皇后最精簡的實現,總共有92種解法,也就50行 是簡單的,少量的,但是思考的過程確實非常曲折的,繁複的,之前實現的八皇后太過低效和雜亂,主要是因為自身的思考能力還不強,這次作了徹底的修改,同時把以前實現的 也發到了blog上,作為以後可供參考的教訓。本篇是最終的最精減的 8 queens...
八皇后的問題
八皇后的問題和馬踏棋盤的思路是一樣,都用到了回溯的思想。也都差不多。這個裡面最精彩的地方用4個一位陣列表示了這個棋盤。這個裡面總共有92組解 展示 include includeint col 8 int right 15 int left 15 int queen 8 int cnt 全域性變數 ...
八皇后的問題
首先介紹一下八皇后的問題。這是乙個古老而著名的問題,指的是在乙個8x8的西洋棋棋盤上,有八個皇后,每個皇后佔乙個 要求皇后之間不會出現相互攻擊的現象,即不能有兩個皇后處在同一行 同一列或同一對角線上。問乙個有多少種不同的排列方法?下面是 includeusing namespace std stat...