




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、棋盤覆蓋問題問題描述:在一個(gè)2kX2k厶卻丿個(gè)方格組成的棋盤中,恰有一個(gè)方格與其他方格不同,稱該方格為特殊方格。顯然,特殊方格在棋盤中出現(xiàn)的位置有孝中情形,因而有4*中不同的棋盤, 圖(a)所示是k=2時(shí)"種棋盤中的一個(gè)。棋盤覆蓋問題要求用圖(b)所示的4中不同形狀的L型骨牌覆蓋給定棋盤上除特殊方格以外的所有方格,且熱河亮哥L型骨牌不得重復(fù)覆蓋。圖(b)圖(a)問題分析:K>0時(shí),可將2kX2k的棋盤劃分為4個(gè)2X21的子棋盤。這樣劃分后,由于原棋盤只有一個(gè)特殊方格,所以,這4個(gè)子棋盤中只有2個(gè)子棋盤中有特殊方格,其余3個(gè)子棋盤中 沒有特殊方格。為了將這3個(gè)沒有特殊方格的子棋盤
2、轉(zhuǎn)化成為特殊棋盤,以便采用遞歸方法求解,可以用一個(gè)I型骨牌覆蓋這3個(gè)較小的棋盤的會(huì)合處,從而將原問題轉(zhuǎn)化為4個(gè)較小 規(guī)模的棋盤覆蓋問題。遞歸地使用這種劃分策略,直至將棋盤分割為1X2的子棋盤。問題求解:卜面介紹棋盤覆蓋問題中數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。(1)棋盤:可以用一個(gè)二維數(shù)組boardsizesize表示一個(gè)棋盤,其中血*2匕為了 在遞歸處理的過程中使用同一個(gè)棋盤,將數(shù)組board設(shè)為全局變量。(2)子棋盤:整個(gè)棋盤用二維數(shù)組boardSizesize表示,其中的子棋盤由棋盤左上 角的下標(biāo)tr tc和棋盤大小$表示。(3)特殊方格:用boarddrdc表示特殊方格,dr和de是該特殊方格在二維數(shù)組
3、board中的下標(biāo)。(4)型骨牌:一個(gè)2kX2k的棋盤中有一個(gè)特殊方格,所以,用到型骨牌的個(gè)數(shù) 為(1) /3,將所有I型骨牌從2開始連續(xù)編號(hào),用一個(gè)全局變量切£表示。c語(yǔ)言源碼:/author:彭洪偉*studentlD:0950310006*class:計(jì)科1班problem:分治法解決棋盤覆蓋問題*/#include <stdio.h>#include <math.h>int tile=l; /記錄骨牌的型號(hào)int board2020=0; 存儲(chǔ)棋盤被覆蓋的情況void ChessBoardfint trjnt tc,int dr,int dcjnt s
4、ize)/tr和tc是棋盤左上角的下標(biāo),dr和de是特殊方格的下標(biāo),size是棋盤的人小 int t=0;int s;if (size=l)return;t=tile+;s=size/2; 劃分棋盤覆蓋左上角棋盤if (dr<tr+s&&dc<tc+s) 特殊方格在棋盤的左上角ChessBoard(tr,tc,di;dc,s);elseboa rdtr+s-ltc+s-l=t;ChessBoard(ti;tc,tr+s :l,tc+sJ,s);覆蓋右上角棋盤if (dr<tr+s&&dc>=tc+s) 特殊方格在棋盤的右上角ChessBo
5、ardftotc+sGds);elseboa rd tr+s-ltc+s =t;ChessBoardftGtc+sr+s-l.tc+s);覆蓋左下角棋盤if (dr>=tr+s&&dc<tc+s) 特殊方格在棋盤的左卞角ChessBoard(tr+s,tc,dr;dc,s);elseboardtr+stc+s-l=t;ChessBoardftr+str+sc+s-l.s);覆蓋右下角棋盤if (dr>=tr+s&&dcxtc+s) /特殊方格在棋盤的右下角 ChessBoard(tr+s,tc+s,dr;dC"S);elseboa r
6、d tr+s tc+s=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);int main()int k,x,y;printf("請(qǐng)輸入棋盤的規(guī)模K:");scanf(“d",&k);printf("請(qǐng)輸入特殊方格的下標(biāo)x,y:");scanf(H%d %cT:&x,&y);ChessBoard(0/0,x/yzpow(2,k);for(int i=0; i<pow(2,k); i+)for (int j=0; j<pow(2,k); j+)printf(”"4cT:boardij); printfCV);return 0;CA運(yùn)行結(jié)果截圖:nF:StudyAlgorithm
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 排水溝穿越道路施工方案
- 水污染治理工程施工方案
- 濮陽(yáng)拉森鋼板樁施工方案
- 遼寧民宿文旅施工方案
- 幼兒園獲獎(jiǎng)公開課:小班數(shù)學(xué)《草裙舞》教學(xué)設(shè)計(jì)
- 燈箱廣告改造施工方案
- 正安建筑打樁施工方案
- 數(shù)控加工工藝與編程技術(shù)基礎(chǔ) 教案 模塊三 項(xiàng)目二 綜合件的加工(3-4)
- 水稻種植中多發(fā)病蟲害的發(fā)生特點(diǎn)及針對(duì)性綠色防控技術(shù)具體分析
- 【專精特新】折疊屏手機(jī)行業(yè)市場(chǎng)份額證明材料(智研咨詢發(fā)布)
- 流體壓強(qiáng)與流速的關(guān)系市公開課一等獎(jiǎng)?wù)f課公開課獲獎(jiǎng)?wù)n件百校聯(lián)賽一等獎(jiǎng)?wù)n件
- 第25課+中華人民共和國(guó)成立和向社會(huì)主義的過渡+課時(shí)作業(yè) 高一上學(xué)期統(tǒng)編版(2019)必修中外歷史綱要上
- 20240912工業(yè)互聯(lián)網(wǎng)及其驅(qū)動(dòng)的制造業(yè)數(shù)字化轉(zhuǎn)型
- 人教版思想政治必修二期末測(cè)試卷附參考答案
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)七年級(jí)上冊(cè)粵教清華版教學(xué)設(shè)計(jì)合集
- 2024小米在線測(cè)評(píng)題
- 水果店員工手冊(cè)的標(biāo)準(zhǔn)模板
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- HAF102-2016核動(dòng)力廠設(shè)計(jì)安全規(guī)定
- 2024年濟(jì)南廣播電視臺(tái)招考電視工作人員高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 2024年云南省中考數(shù)學(xué)模擬試題(附答案解析)
評(píng)論
0/150
提交評(píng)論