亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

八皇后問題,Eight Queens Puzzle

2019-11-10 17:08:33
字體:
來源:轉載
供稿:網友

Ss 八皇后問題tips,規定棋盤式(8*8)(回溯算法)讀者諸君看完tips先嘗試自己寫一個,再看答案哈^_^

       規則:兩兩不處于同一行、列、斜線

       1八個皇后肯定分布在八個橫行之中

       2按行遞歸,每行之中按列擴展(列是循環的依據);

       3每添加一個皇后,將其能吃且尚未擺放皇后的位置設為其行號以作標記(這三個方向分別是左下,正下,右下方),如遇符合條件且已經被打上標記的位置,跳過,不做處理,當程序回溯時,再將該皇后(僅僅是該皇后)改變的標簽在修改為0;

      

       Ps 回溯法思想:走不通就掉頭;在問題的解空間之中,按深度優先搜索方式搜索,如果根節點包含問題的解,則進入該子樹,否則跳過以該節點為根的子樹

回溯算法的設計過程:

Step1確定問題的解空間

Step2確定節點的擴展規則

Step3搜索解空間

添加約束:排除錯誤的狀態,不進行沒有必要的擴展(分支修剪,是設計過程中對遞歸的優化)在自己設計的八皇后代碼中,按行進行遞歸,所以相當于分支修剪

對每一次擴展的結果進行檢查

枚舉下一狀態叫遞歸,退回上一狀態叫回溯;在前進和后退之時設置標志,以便于正確選擇,標志已經成功或者已然遍歷所有狀態

 

#include<iostream>using namespace std;int board[8][8] = { 0 };   //chessboardint cnt = 0;              //answers to this puzzlesinline bool valid(int x, int y){    //judge whether the dot is within the borders or not	if (0 <= x && 0 <= y && 8 > x && 8 > y)return true;	else return false;}void set(int row, int col,int setval){ //set tags according to the dot added immadiately	int sgn;  //mainly for dealing with PRiority,	//the tags set before by former dots should not be changed by the dots added latter 	//when backtrack,should only change the tags set just now instead of long before	sgn = (setval == 0) ? row + 1 : 0;	for (int r = row+1; r < 8; r++)//extend properly		if(board[r][col]==sgn)board[r][col] = setval;	/*for (int c = 0; c < 8; c++)		board[row][c] = setval;*///no need to set val horizontally	/*for (int i = row-1, j = col-1; valid(i, j,sgn);)//no need to come back to set val	{		board[i][j] =setval;		i--;		j--;	}*/	for (int i = row + 1, j = col + 1; valid(i, j);){  //extend properly		if(board[i][j]==sgn)board[i][j] = setval;		i++;		j++;	}	for (int i = row + 1, j = col - 1; valid(i, j);){//extend properly		if(board[i][j]==sgn)board[i][j] = setval;		i++;		j--;	}}void print(int last){	printf("No.%d/n", cnt);	for (int i = 0; i < 8; i++){		for (int j = 0; j < 8; j++)		{			if (j != last || i != 7)printf("%d ", (board[i][j]==i+1?i+1:0));			else printf("%d ", 8);		}		printf("/n");	}	}void EQP(int row){//row is the depth of recursion	if (row == 7){		int i = 0;		for (; i < 8; i++)		if (board[7][i] == 0){			cnt++; 			print(i);		}		return;	}	for (int j =0; j < 8; j++){		if (board[row][j] == 0){			board[row][j] = row + 1;			set(row, j, row + 1);			EQP(row + 1);			board[row][j] = 0;			set(row, j, 0);		}	}}int main(){	EQP(0);	printf("/n");	cout <<"in total:"<< cnt << endl;	system("pause");}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本久久久久久久久| 精品成人国产在线观看男人呻吟| 精品激情国产视频| 欧美成人午夜影院| 欧美专区第一页| 97精品一区二区视频在线观看| 久久久久久久久久久久av| 日本道色综合久久影院| 精品成人国产在线观看男人呻吟| 国内揄拍国内精品少妇国语| 欧美亚洲在线视频| 欧美另类69精品久久久久9999| xvideos亚洲人网站| 亚洲风情亚aⅴ在线发布| 精品亚洲一区二区| 日韩av影院在线观看| 欧美激情一区二区三级高清视频| 久久影院资源站| 欧美精品福利视频| 国产精品美女免费看| 久久99热这里只有精品国产| 成人激情视频在线| 日韩激情片免费| 欧美日韩人人澡狠狠躁视频| 中文字幕不卡av| 亚洲国产日韩精品在线| 亚洲一区二区久久久| 日韩中文在线中文网三级| 亚洲精品福利免费在线观看| 日韩黄色在线免费观看| 在线观看精品国产视频| 国产视频一区在线| 国产亚洲精品久久| 91精品国产成人www| 欧美精品999| 国产精品2018| 亚洲最新av在线网站| 欧美成年人视频网站欧美| 日韩在线视频线视频免费网站| 国产精品久久久999| 亚洲激情电影中文字幕| 亚洲日韩中文字幕在线播放| 伊人一区二区三区久久精品| 国产成人综合精品| 欧美另类老女人| 国产成人午夜视频网址| 粉嫩老牛aⅴ一区二区三区| 久久久精品999| 欧美大片免费观看| 亚洲国产成人在线视频| 久久电影一区二区| 国产精品视频地址| 色悠悠久久久久| 久久九九热免费视频| 欧美性xxxxx极品娇小| 久久亚洲精品成人| 久久久久久18| 日韩中文字幕视频在线| 懂色av中文一区二区三区天美| 国产999精品久久久影片官网| 国产精选久久久久久| 尤物九九久久国产精品的分类| 国产精品wwwwww| 欧美性猛交xxxx免费看久久久| 久久久久日韩精品久久久男男| 国产精品久久久久久久一区探花| 欧美激情国产日韩精品一区18| 亚洲欧美变态国产另类| 国产亚洲精品综合一区91| 国产亚洲一区二区精品| 日韩影视在线观看| 影音先锋欧美精品| 欧美专区国产专区| 欧美成人小视频| 欧美一区二粉嫩精品国产一线天| 欧美性xxxxx极品| 成人欧美一区二区三区在线湿哒哒| 亚洲免费人成在线视频观看| 亚洲人成电影网站色www| 91免费视频国产| 91视频国产一区| 久久精品国产免费观看| 啪一啪鲁一鲁2019在线视频| 日韩在线视频免费观看| 亚洲电影免费观看高清完整版在线| 国内久久久精品| 国产精品亚洲欧美导航| 亚洲国产高潮在线观看| 日韩av网站电影| 亚洲变态欧美另类捆绑| 成人午夜在线观看| 亚洲国产精品女人久久久| 色哟哟网站入口亚洲精品| 91久久精品一区| 高清欧美性猛交| 亚洲国产精品女人久久久| 成人精品一区二区三区电影免费| 日韩精品免费在线视频观看| 一区二区在线视频播放| 91av在线播放| 色一区av在线| 国产一区二区久久精品| 亚洲第一区中文99精品| 亚洲第一网中文字幕| www.亚洲一二| 中文字幕亚洲专区| 亚洲天堂精品在线| 高清亚洲成在人网站天堂| 亚洲网站在线播放| 欧美激情aaaa| 免费91在线视频| 激情成人中文字幕| 日本久久91av| 久操成人在线视频| 日韩一区视频在线| 高潮白浆女日韩av免费看| 最近中文字幕2019免费| 国产精品丝袜久久久久久不卡| 亚洲一级黄色片| 日韩在线免费视频观看| 激情av一区二区| 久久免费精品视频| 韩国福利视频一区| 日韩中文字幕在线观看| 亚洲第一av网| 国产mv久久久| 欧美黑人xxxx| 亚洲成av人乱码色午夜| 91久久夜色精品国产网站| 黄色一区二区在线| 色综合天天综合网国产成人网| 538国产精品一区二区在线| 91av福利视频| 日韩中文在线中文网三级| 中文字幕久久久av一区| 中文字幕在线观看日韩| 欧美精品在线极品| 国产成人精品免高潮在线观看| 亚洲视频网站在线观看| 国产精品自拍视频| 国产精品免费观看在线| 亚洲欧美在线磁力| 欧美日本啪啪无遮挡网站| wwwwwwww亚洲| 日韩激情在线视频| 日韩电影视频免费| 日韩欧美大尺度| 久久亚洲精品中文字幕冲田杏梨| 欧美亚洲伦理www| 日韩免费在线电影| 亚洲一区免费网站| 日韩欧美在线播放| 欧美做受高潮1| 亚洲精品短视频| 久久99久久久久久久噜噜| 国产91免费观看| 亚洲色无码播放| 久久精品2019中文字幕| 在线观看视频亚洲| 伊人一区二区三区久久精品| 亚洲精品自拍偷拍| 91精品久久久久久久久久久久久久| 中文字幕日韩av电影| 国产一区二区三区视频免费|