![N皇后問題實(shí)驗(yàn)報(bào)告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/e3d1613b-8e62-45aa-9ae9-ffe38a841270/e3d1613b-8e62-45aa-9ae9-ffe38a8412701.gif)
![N皇后問題實(shí)驗(yàn)報(bào)告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/e3d1613b-8e62-45aa-9ae9-ffe38a841270/e3d1613b-8e62-45aa-9ae9-ffe38a8412702.gif)
![N皇后問題實(shí)驗(yàn)報(bào)告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/e3d1613b-8e62-45aa-9ae9-ffe38a841270/e3d1613b-8e62-45aa-9ae9-ffe38a8412703.gif)
![N皇后問題實(shí)驗(yàn)報(bào)告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/e3d1613b-8e62-45aa-9ae9-ffe38a841270/e3d1613b-8e62-45aa-9ae9-ffe38a8412704.gif)
![N皇后問題實(shí)驗(yàn)報(bào)告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/e3d1613b-8e62-45aa-9ae9-ffe38a841270/e3d1613b-8e62-45aa-9ae9-ffe38a8412705.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、算法大作業(yè)電子工程學(xué)院1B3JA. 實(shí)驗(yàn)內(nèi)容在nx n格的棋盤上放置彼此不受攻擊的n個(gè)皇后,按照國(guó)際象棋的規(guī) 貝皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子,求解可以 放置的方法種數(shù)。B. 問題分析n后問題等于于在nxn格的棋盤上放置n個(gè)皇后,任何2個(gè)皇后不放 在同一行或同一列或同一斜線上。即規(guī)定每一列放一個(gè)皇后,不會(huì)造成列 上的沖突;當(dāng)?shù)趇行被某個(gè)皇后占領(lǐng)后,則同一行上的所有空格都不能再 放皇后,要把以i為下標(biāo)的標(biāo)記置為被占領(lǐng)狀態(tài)。C. 算法設(shè)計(jì)1. 解決沖突問題:這個(gè)問題包括了行,列,兩條對(duì)角線; 列:規(guī)定每一列放一個(gè)皇后,不會(huì)造成列上的沖突; 行:當(dāng)?shù)趇行被某個(gè)皇后占領(lǐng)后,則同一
2、行上的所有空格都不能再放皇 后,要把以i為下標(biāo)的標(biāo)記置為被占領(lǐng)狀態(tài);對(duì)角線:對(duì)角線有兩個(gè)方向。在這我把這兩條對(duì)角線稱為:主對(duì)角線和 從對(duì)角線。在同一對(duì)角線上的所有點(diǎn)(設(shè)下標(biāo)為(i,j),要么(i+j)是常數(shù), 要么(i-j)是常數(shù)。因此,當(dāng)?shù)趇個(gè)皇后占領(lǐng)了第j列后,要同時(shí)把以(i+j)、 (i-j)為下標(biāo)的標(biāo)記置為被占領(lǐng)狀態(tài)。2. 算法設(shè)計(jì)因?yàn)?n 皇后問題,從 n 大于 11 開始求解過程耗時(shí)就很長(zhǎng),所以定義 x 數(shù)組的最大值MAXNUM=;0!P最大可解決30皇后問題。1) 判斷當(dāng)前位置是否可放置皇后上;abs(xi-xk)=abs(i-k)皇后 k 在第 k 行第 xk 列時(shí), xi=x
3、k 時(shí),兩皇后在同一列 時(shí),兩皇后在同一斜線上 ; 兩種情況兩皇后 都可相互攻擊,返回 false 表示不符合條件。bool Place(int k)int i;i=1;while(ik)if(xi=xk|abs(xi-xk)=abs(i-k) return false;i=i+1;return true;2) 輸出當(dāng)前解void Print(int x,int n)num+;printf(第dt 種解法:(,num);for(int i=1;i0)xk+=1;while(xk=n&!Place(k) xk+=1;if(xk=n)if(k=n)Prin t(x, n); elsek=k+1;x
4、k=0;回溯至上一行;/ elsek-;3. 實(shí)驗(yàn)結(jié)果及分析 n皇后問題解的情況皇后的個(gè) 數(shù)問題的解N=1X=(1)N=2無解N=3無解N=4X1=(2,4,1,3); X2=(3,1,4,2)N=5X1=(1,3,5,2,4); X2=(1,4,2,5,3); X3=(2,4,1,3,5);X4=(2,5,3,1,4);X5=(3,1,4,2,5); X6=(3,5,2,4,1); X7=(4,1,3,5,2);X8=(4,2,5,3,1);X9=(5,2,4,1,3); X10=(5,3,1,4,2)N=6X1=(2,4,6,1,3,5);X2=(3,6,2,5,1,4);X3=(4,1,
5、5,2,6,3);X4=(5,3,1,6,4,2)N=740個(gè)解N=892個(gè)解4.實(shí)驗(yàn)程序隨著N的增大,解的個(gè)數(shù)增多,以 N=4為例#i nclude #in clude#define N 4 /*定義棋盤大小*/static int sum; /*當(dāng)前已找到解的個(gè)數(shù)*/static int xN;int p lace(i nt k)int j;for (j = 0; j k; j +)if (xj = xk | abs(j - k) = abs(xj - xk) return 0;return 1;/* 打印棋局 */ void chessboard()int i,j;int siteN;p
6、rintf(第(種解法:n, + sum);for (i = 0; i N; i +) for (j = 0; j N; j +)if (j = xi) printf(Q );sitei=j+1; else printf(* );printf(n);printf(A%d(,sum);for(i = 0; i = 0) xk += 1; /* 向右移一列 */ /* 向右移至出最右列或可以放置皇后的列 while (xk N) & !(place(k) xk += 1; if (xk N) /*向右移未移出棋盤 */if (k = N - 1) chessboard(); /*/已移至最后一行 */else x+ k = -1; /* 向下移一行 else k -; /*回溯到上一行 */int main(void)*/backtrack();prin tf(%d皇后有 d 個(gè)解:n,N,sum);return 0;3/ 6實(shí)驗(yàn)結(jié)果截圖:第1種解法:* Q * 4C* * QQ -H -K- -H 來 M q M第2種幅= * Q *Q * * * * Q* Q * 4皇后有2個(gè)解=Piess any key to continue5.流程圖D. 心得體會(huì)通過算法老師布置的這次大作業(yè),首先使我們更好地理解皇后問題和回溯法的 原理;其次,在作業(yè)過程中遇到的困難,使我們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶山中學(xué)九年級(jí)數(shù)學(xué)試卷
- 部編八下歷史第五單元國(guó)防建設(shè)與外交成就第17課《外交事業(yè)的發(fā)展》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)九年級(jí)下冊(cè)《2.5.2圓切線》聽評(píng)課記錄4
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)第二章《一元二次方程》復(fù)習(xí)聽評(píng)課記錄
- 2025年度裝配式建筑預(yù)制構(gòu)件生產(chǎn)與安裝合同
- 五年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄《植樹問題》人教版
- 2025年度供水供電設(shè)備租賃與維護(hù)合同范本
- 課題研究聽評(píng)課記錄表
- 蘇科版數(shù)學(xué)七年級(jí)上冊(cè)4.2.4《解一元一次方程》聽評(píng)課記錄
- 2025年度綠色節(jié)能型凱悅酒店智能消防系統(tǒng)升級(jí)改造合同
- 水土保持方案中沉沙池的布設(shè)技術(shù)
- 安全生產(chǎn)技術(shù)規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營(yíng)企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進(jìn)本土項(xiàng)目化設(shè)計(jì)-讀《PBL項(xiàng)目化學(xué)習(xí)設(shè)計(jì)》有感
- 高中語文日積月累23
- 彈簧分離問題經(jīng)典題目
- 金屬材料與熱處理全套ppt課件完整版教程
- 《網(wǎng)店運(yùn)營(yíng)與管理》整本書電子教案全套教學(xué)教案
- 教師信息技術(shù)能力提升培訓(xùn)課件希沃的課件
- 高端公寓住宅項(xiàng)目營(yíng)銷策劃方案(項(xiàng)目定位 發(fā)展建議)
- 執(zhí)業(yè)獸醫(yī)師聘用協(xié)議(合同)書
評(píng)論
0/150
提交評(píng)論