1樓:金色潛鳥
這是經典題目,答案網上有的是,抄一個學學就可以了:
回溯法進行求解,程式實現如下:
#include
#define queens 8 //定義結果陣列的大小,也就是皇后的數目
int a[queens+1]; //八皇后問題的皇后所在的行列位置,從1開始算起,所以加1
int main()else if(a[i] == queens)a[i]=1;
else
a[i]++; //將a[i]的值取下一個值}else if(++i<=queens)if(a[i-1] == queens )a[i]=1; //若前一個元素的值為queens則a[i]=lelse
a[i] = a[i-1]+1; //否則元素的值為前一個元素的下一個值
}if(not_finish)}
2樓:匿名使用者
#include "stdio.h"
int count;
int queen [10], column[20],left[20],right[20];
void prt1()
void try(int i)
}main()
pascal八皇后問題,八皇后問題 PASCAL
別人放程式,我一般不看的,好長。所以我也不放了,告訴你幾種方法吧。1 普通方法 搜尋 貌似12皇后還是13皇后就一秒鐘出不來了。2 利用棋盤的對稱,加快搜尋。3 位運算 算是用2進位制模擬搜尋,只不過判斷和操作速度很快。具體請call我。八皇后問題 pascal 我的演算法是回溯。program x...
什麼是 八皇后問題 呀,什麼是八皇后問題?
八皇后問題是一個古老而著名的問題,是回溯演算法的典型例題。該問題是十九世紀著名的數學家高斯1850年提出 在8x8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發表了40種...
C語言與C語言能夠共用嗎C語言和C語言的區別是什麼?
可以共用的。具體取決於使用的編譯器。使用c編譯器 c編譯器是不支援編譯c 的。因為c 有很多c語言標準沒有定義的擴充套件。所以同時存在純c和c 的話是不能通過c編譯器的編譯的。使用c 編譯器c 是c語言的擴充套件延伸,c 設計之初就考慮了完全相容c語言的。所以純c或是混合c c 專案都是可以被c 編...