資源簡介
八皇后問題的MonteCarlo算法與回溯法的混合實現,代碼精確實現,實驗報告或者說論文有詳細的闡述!
代碼片段和文件信息
/*##################################################################
comments:八皇后問題是這樣一類問題:即一個棋盤上每行每行的放置一個皇
后,直至將全部的皇后排上了棋盤使它們不相互攻擊(不在同一行、
同一列或對角線相同--------算法書上給我們的建議是用斜率)
若沒學過高級算法,或許會用暴力枚舉,導致時間復雜度超大
采用高級算法——引入隨機,采用Las?Vegas算法
本程序將回溯和Las?Vegas結合起來,其中,Las?Vegas只用至前面
直到stopLV行(也即第某某個皇后),剩下皇后則采用回溯法(backtrack)
date:2012/3/9
author:****
###################################################################*/
#include
#include
using?namespace?std;
int?x[8]; //八個皇后的位置(列標)
unsigned?long?Total=10000; //總共試驗次數
double?sftemp;
//s:解決一個皇后問題成功時所訪問的節點總數
//f:解決一個皇后問題失敗時所訪問的節點總數
//temp:調用一次queenLVB函數時所訪問的節點總數?
bool?Place(int?k) //放第k個皇后看其與前面幾個皇后是否有沖突
{
for(int?row=0;row {
if(abs(k-row)==abs(x[k]-x[ro
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4352??2012-03-11?13:23??實驗7\Eight_queens\Eight_queens.dsp
?????文件????????549??2012-03-11?11:30??實驗7\Eight_queens\Eight_queens.dsw
?????文件??????41984??2012-03-12?19:38??實驗7\Eight_queens\Eight_queens.ncb
?????文件??????48640??2012-03-12?19:38??實驗7\Eight_queens\Eight_queens.opt
?????文件???????1057??2012-03-12?19:04??實驗7\Eight_queens\Eight_queens.plg
?????文件???????2941??2012-08-21?00:11??實驗7\Eight_queens\main.cpp
?????文件??????43700??2012-08-21?00:11??實驗7\八皇后問題的混合算法實現與分析.docx
?????目錄??????????0??2012-03-12?19:38??實驗7\Eight_queens
?????目錄??????????0??2012-03-12?19:39??實驗7
-----------?---------??----------?-----??----
???????????????143223????????????????????9
評論
共有 條評論