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

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

八皇后問題,Eight Queens Puzzle

2019-11-10 16:57:50
字體:
來源:轉載
供稿:網友

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
视频一区视频二区国产精品| 懂色av中文一区二区三区天美| 欧美在线中文字幕| 亚洲人成电影网站色xx| 97国产精品久久| 成人福利免费观看| 久久久国产精品免费| 亚洲欧美国内爽妇网| 久久99国产精品自在自在app| 亚洲第一网中文字幕| 91国产视频在线| 亚洲视频视频在线| 国产精品福利在线观看| 欧美激情久久久久| 国产午夜精品全部视频在线播放| 亚洲色图美腿丝袜| 国内精品模特av私拍在线观看| 51午夜精品视频| 亚洲美女av在线| 91精品国产高清久久久久久91| 国模吧一区二区| 91久久精品国产91久久性色| 日韩中文字幕视频在线| 日韩视频在线免费观看| 尤物九九久久国产精品的特点| 欧美性videos高清精品| 激情久久av一区av二区av三区| 国外成人性视频| 久久91亚洲精品中文字幕| 日韩精品免费在线视频观看| 国产91精品久久久久久久| 2019亚洲日韩新视频| 亚洲女人初尝黑人巨大| 欧美有码在线观看| 欧美一级淫片播放口| 国产一区二区三区直播精品电影| 久久精品在线视频| 亚洲黄色片网站| 成人伊人精品色xxxx视频| 国产精品96久久久久久又黄又硬| 91在线精品视频| 欧美中文字幕视频| 91在线视频免费| 中文一区二区视频| 精品无人区太爽高潮在线播放| 国产日韩欧美视频在线| 亚洲大胆人体在线| 北条麻妃99精品青青久久| 日韩欧美黄色动漫| 欧美大片免费观看在线观看网站推荐| 黑人巨大精品欧美一区二区三区| 日本a级片电影一区二区| 黑人狂躁日本妞一区二区三区| 亚洲综合成人婷婷小说| 亚洲视频综合网| 国产午夜一区二区| 日韩精品免费在线观看| 国产精品自拍视频| 国产v综合ⅴ日韩v欧美大片| 91久久综合亚洲鲁鲁五月天| 亚洲精品国产精品国自产观看浪潮| 夜夜狂射影院欧美极品| 欧美视频在线免费| 久久久久久亚洲精品不卡| 国产成人精品最新| 91国产视频在线播放| 久久免费视频网| 伊人久久久久久久久久久久久| 欧美性xxxxx| 亚洲女在线观看| 国产美女直播视频一区| 国产精品扒开腿做爽爽爽的视频| 5278欧美一区二区三区| 97在线观看视频| 午夜精品久久久久久久久久久久| 日韩中文视频免费在线观看| 久久久久久亚洲精品中文字幕| 欧美一级电影免费在线观看| 欧美有码在线观看视频| 欧美在线视频一区| 亚洲成人亚洲激情| 久久久久久久久久久人体| 国产精品久久av| 成人激情视频免费在线| 在线视频国产日韩| 最近2019年中文视频免费在线观看| 亚洲精品一区中文字幕乱码| 日本韩国在线不卡| 欧美美最猛性xxxxxx| 亚洲欧美第一页| 国产欧美在线视频| 国产精品美女午夜av| 美日韩精品免费视频| 91av在线播放视频| 亚洲精品资源在线| 欧美一区二区影院| 久久久久国产精品免费| 久久精品国产99国产精品澳门| 91精品国产91久久久久福利| 亚洲第一精品夜夜躁人人爽| 精品视频—区二区三区免费| 中文精品99久久国产香蕉| 亚洲最大的av网站| 国产日韩欧美综合| 亚洲影视九九影院在线观看| 久久激情视频免费观看| 欧日韩在线观看| 欧美精品精品精品精品免费| 成人在线小视频| 在线观看日韩欧美| 亚洲一区二区三区xxx视频| 欧美性xxxxxx| 亚洲区免费影片| 久久久av电影| 日韩电影免费在线观看中文字幕| 久久男人的天堂| 成人激情黄色网| 精品福利在线视频| 亚洲黄色av网站| 理论片在线不卡免费观看| 精品国产欧美成人夜夜嗨| 国产精品久久久久影院日本| 91九色视频在线| 欧美大片欧美激情性色a∨久久| 日韩中文字幕免费看| 日本高清不卡在线| 亚洲欧美日韩一区二区三区在线| 日韩在线观看成人| 亚洲国产精品美女| 国产视频精品在线| 国产午夜精品视频| 91精品国产一区| 日韩高清免费在线| 欧美高清videos高潮hd| 亚洲综合精品伊人久久| 最近2019年中文视频免费在线观看| 日本一区二区在线免费播放| 4438全国亚洲精品在线观看视频| 在线观看国产精品91| 91精品久久久久久综合乱菊| 麻豆一区二区在线观看| 国产91色在线|| 国产成人精品电影| 78色国产精品| 国产伊人精品在线| 91av在线网站| 久久精品视频亚洲| 国产日韩精品在线播放| 午夜精品一区二区三区在线播放| 2019国产精品自在线拍国产不卡| 91av免费观看91av精品在线| 国产91精品久久久久久久| 亚洲国产美女久久久久| 国产不卡av在线| 亚洲欧美一区二区三区四区| 欧美日韩成人在线观看| 久久久久久久久电影| 久久免费在线观看| 亚洲另类图片色| 国产99久久精品一区二区 夜夜躁日日躁| 久久免费国产视频| 成人有码在线播放| 欧美日韩激情小视频| 国产日韩在线看|