![用分治法求解棋盤覆蓋問題_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/e672b70a-7fc4-45de-9317-d40a0de366ca/e672b70a-7fc4-45de-9317-d40a0de366ca1.gif)
![用分治法求解棋盤覆蓋問題_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/e672b70a-7fc4-45de-9317-d40a0de366ca/e672b70a-7fc4-45de-9317-d40a0de366ca2.gif)
![用分治法求解棋盤覆蓋問題_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/e672b70a-7fc4-45de-9317-d40a0de366ca/e672b70a-7fc4-45de-9317-d40a0de366ca3.gif)
![用分治法求解棋盤覆蓋問題_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/e672b70a-7fc4-45de-9317-d40a0de366ca/e672b70a-7fc4-45de-9317-d40a0de366ca4.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.棋盤覆蓋問題問題描述: 在一個2k×2k(k0)個方格組成的棋盤中,恰有一個方格與其他方格不同,稱該方格為特殊方格。顯然,特殊方格在棋盤中出現(xiàn)的位置有4k中情形,因而有4k中不同的棋盤,圖(a)所示是k=2時16種棋盤中的一個。棋盤覆蓋問題要求用圖(b)所示的4中不同形狀的L型骨牌覆蓋給定棋盤上除特殊方格以外的所有方格,且熱河亮哥L型骨牌不得重復(fù)覆蓋。 圖(b)圖 (a)問題分析:K>0時,可將2k×2k的棋盤劃分為4個2k-1×2k-1的子棋盤。這樣劃分后,由于原棋盤只有一個特殊方格,所以,這4個子棋盤中只有1個子棋盤中有特殊方格,其余3個子棋盤中沒有特
2、殊方格。為了將這3個沒有特殊方格的子棋盤轉(zhuǎn)化成為特殊棋盤,以便采用遞歸方法求解,可以用一個L型骨牌覆蓋這3個較小的棋盤的會合處,從而將原問題轉(zhuǎn)化為4個較小規(guī)模的棋盤覆蓋問題。遞歸地使用這種劃分策略,直至將棋盤分割為1×1的子棋盤。問題求解:下面介紹棋盤覆蓋問題中數(shù)據(jù)結(jié)構(gòu)的設(shè)計。(1) 棋盤:可以用一個二維數(shù)組boardsizesize表示一個棋盤,其中size=2k。為了在遞歸處理的過程中使用同一個棋盤,將數(shù)組board設(shè)為全局變量。(2) 子棋盤:整個棋盤用二維數(shù)組boardsizesize表示,其中的子棋盤由棋盤左上角的下標(biāo)tr、tc和棋盤大小s表示。(3) 特殊方格:用boar
3、ddrdc表示特殊方格,dr和dc是該特殊方格在二維數(shù)組board中的下標(biāo)。(4) L型骨牌:一個2k×2k的棋盤中有一個特殊方格,所以,用到L型骨牌的個數(shù)為(4k-1)/3,將所有L型骨牌從1開始連續(xù)編號,用一個全局變量tile表示。C語言源碼:/*author: 彭洪偉 *studentID:0950310006 *class:計科1班 *problem:分治法解決棋盤覆蓋問題 */#include <stdio.h>#include <math.h>int tile=1; /記錄骨牌的型號int board2020=0; /存儲棋盤被覆蓋的情況void
4、ChessBoard(int tr,int tc,int dr,int dc,int size) /tr和tc是棋盤左上角的下標(biāo),dr和dc是特殊方格的下標(biāo),size是棋盤的大小int t=0;int s;if (size=1)return;t=tile+;s=size/2; /劃分棋盤/覆蓋左上角棋盤if (dr<tr+s&&dc<tc+s) /特殊方格在棋盤的左上角ChessBoard(tr,tc,dr,dc,s);elseboardtr+s-1tc+s-1=t;ChessBoard(tr,tc,tr+s-1,tc+s-1,s);/覆蓋右上角棋盤if (dr&l
5、t;tr+s&&dc>=tc+s) /特殊方格在棋盤的右上角ChessBoard(tr,tc+s,dr,dc,s);elseboardtr+s-1tc+s=t;ChessBoard(tr,tc+s,tr+s-1,tc+s,s);/覆蓋左下角棋盤if (dr>=tr+s&&dc<tc+s)/特殊方格在棋盤的左下角ChessBoard(tr+s,tc,dr,dc,s);elseboardtr+stc+s-1=t;ChessBoard(tr+s,tc,tr+s,tc+s-1,s);/覆蓋右下角棋盤if (dr>=tr+s&&dc
6、>=tc+s) /特殊方格在棋盤的右下角ChessBoard(tr+s,tc+s,dr,dc,s);elseboardtr+stc+s=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);int main()int k,x,y;printf("請輸入棋盤的規(guī)模K:");scanf("%d",&k); printf("請輸入特殊方格的下標(biāo)x,y:");scanf("%d %d",&x,&y);ChessBoard(0,0,x,y,pow(2,k);for(int i=0; i<pow(2,k); i+)for (int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來商業(yè)空間設(shè)計趨勢與挑戰(zhàn)應(yīng)對
- 國慶節(jié)中秋快樂活動方案
- 16《朱德扁擔(dān)》第二課時 說課稿-2024-2025學(xué)年語文二年級上冊統(tǒng)編版
- Unit 2 Healthy Lifestyle Reading and Thinking 說課稿-2023-2024學(xué)年高二英語人教版(2019)選擇性必修第三冊
- Module4 Unit1 It's red!(說課稿)-2024-2025學(xué)年外研版(一起)英語一年級上冊
- Unit 2 Different families Lesson 6(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 1《天地人》說課稿-2024-2025學(xué)年語文一年級上冊統(tǒng)編版
- 2024-2025學(xué)年高中信息技術(shù) 會考知識點說課稿
- 2024年六年級品社下冊《站在國際舞臺上》說課稿 遼師大版001
- 6 推動社會發(fā)展的印刷術(shù)(說課稿)-2024-2025學(xué)年六年級上冊科學(xué)教科版(2017版)
- 2024年常德職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 天津市河?xùn)|區(qū)2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試題
- 工程防滲漏培訓(xùn)課件
- 黑龍江省哈爾濱市2024年數(shù)學(xué)八年級下冊期末經(jīng)典試題含解析
- 克羅恩病的外科治療
- 牛津3000核心詞匯表注釋加音標(biāo)1-4 完整版
- 高中英語以讀促寫教學(xué)策略與實踐研究課件
- 金屬表面處理中的冷噴涂技術(shù)
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量檢測化學(xué)試題(解析版)
- 黑龍江省齊齊哈爾市2023-2024學(xué)年高一上學(xué)期1月期末英語試題(含答案解析)
- 綜合素質(zhì)能力提升培訓(xùn)
評論
0/150
提交評論