




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
棋盤覆蓋問題問題描述(一)在一個
(k≥0)個方格組成的棋盤中,恰有一個方格與其他方格不同,稱該方格為特殊方格,顯然,特殊方格在棋盤中出現(xiàn)的位置有中情形,因而有中不同的棋盤(如圖(a))。(a)
k=2時的一種棋盤問題描述(二)
棋盤覆蓋問題要求用如圖(b)所示的L型骨牌覆蓋給定棋盤上除特殊方格以外的所有方格,且任何2個L型骨牌不得重疊覆蓋。(b)4種不同形狀的L型骨牌問題分析(一)
用分治策略,可以設(shè)計解棋盤覆蓋問題的一個簡潔算法
(1)當k>0時,將棋盤分割為4個子棋盤(如下圖(c));2k-1×2k-12k-1×2k-12k-1×2k-12k-1×2k-1特殊方格必位于4個子棋盤之一,其余3個子棋盤中無特殊方格。(c)棋盤分割問題分析(二)
(2)用一個L型骨牌覆蓋這3個較小棋盤的結(jié)合處。(如圖(d))這3個子棋盤上被L型骨牌覆蓋的方格就成為該棋盤上的殘缺方格,原問題轉(zhuǎn)化為4個較小規(guī)模的棋盤覆蓋問題。遞歸地使用這種分割,直至棋盤簡化為11棋盤。(d)
構(gòu)造相同子問題詳細過程圖解如下棋盤中有一個特殊方格第一次分割第二次分割第三次分割第四次分割為1×1棋盤第一次分割后子棋盤的覆蓋結(jié)果問題求解下面介紹棋盤覆蓋問題中數(shù)據(jù)結(jié)構(gòu)的設(shè)計:(1)棋盤:用二維數(shù)組Board[size][size]表示一個棋盤,Board[0][0]是棋盤的左上角方格。其中,size=
。為了在遞歸處理的過程中使用同一個棋盤,將數(shù)組Board設(shè)為全局變量;(2)子棋盤:在棋盤數(shù)組Board[size][size]中,由子棋盤左上角的下標tr、tc和棋盤邊長s表示;(3)特殊方格:用Board[dr][dc]表示,dr和dc是該特殊方格在棋盤數(shù)組Board中的下標;(4)L型骨牌:一個的棋盤中有一個特殊方格,所以用到L型骨牌的個數(shù)為(
-1)/3將所有L型骨牌從1開始連續(xù)編號,用一個全局整型變量tile表示,其初始值為0。算法的輸入?yún)?shù)是:tr:棋盤左上角方格的行號tc:棋盤左上角方格的列號dr:特殊方格所在的行號dc:特殊方格所在的列號size:size=,棋盤規(guī)格為dcdrtrtcsize棋盤覆蓋問題中的數(shù)據(jù)結(jié)構(gòu)算法—棋盤覆蓋
實現(xiàn)這種分治策略的算法ChessBoard如下:voidChessBoard(inttr,inttc,intdr,intdc,intsize)//tr和tc是棋盤左上角的下標,dr和dc是特殊方格的下標,//size是棋盤的大小,t已初始化為0{if(size==1)return;//棋盤只有一個方格且是特殊方格
t++;//L型骨牌號
s=size/2;//劃分棋盤
//覆蓋左上角子棋盤
if(dr<tr+s&&dc<tc+s)//特殊方格在左上角子棋盤中
ChessBoard(tr,tc,dr,dc,s);//遞歸處理子棋盤
else{//用t號L型骨牌覆蓋右下角,再遞歸處理子棋盤
board[tr+s-1][tc+s-1]=t;ChessBoard(tr,tc,tr+s-1,tc+s-1,s);}//覆蓋右上角子棋盤if(dr<tr+s&&dc>=tc+s)//特殊方格在右上角子棋盤中ChessBoard(tr,tc+s,dr,dc,s);//遞歸處理子棋盤else{//用t號L型骨牌覆蓋左下角,再遞歸處理子棋盤board[tr+s-1][tc+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);//遞歸處理子棋盤else{//用t號L型骨牌覆蓋右上角,再遞歸處理子棋盤board[tr+s][tc+s-1]=t;ChessBoard(tr+s,tc,tr+s,tc+s-1,s);}//覆蓋右下角子棋盤if(dr>=tr+s&&dc>=tc+s)//特殊方格在右下角子棋盤中ChessBoard(tr+s,tc+s,dr,dc,s);//遞歸處理子棋盤else{//用t號L型骨牌覆蓋左上角,再遞歸處理子棋盤board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}時間復雜度分析算法分析:設(shè)T(k)為覆蓋棋盤的時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自體輸血知識培訓課件
- 農(nóng)資產(chǎn)品經(jīng)銷代理合作協(xié)議
- 共享單車租賃服務(wù)協(xié)議
- 遼寧省大連市2024-2025學年高一上學期1月期末考試生物學試題(含答案)
- 采血急診知識培訓課件
- 環(huán)評知識培訓課件視頻
- 商業(yè)維修服務(wù)協(xié)議
- 農(nóng)民專業(yè)合作社農(nóng)產(chǎn)品質(zhì)量安全追溯體系建立協(xié)議
- 汽車租賃經(jīng)營承包合同
- HTTPS加密傳輸合同部署及維護服務(wù)合同
- 采購人員廉潔從業(yè)課件培訓
- 《藥品上市許可持有人檢查要點》試題及答案
- 2016-2023年江蘇城市職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 加強物料提升機施工現(xiàn)場安全管理
- 第15課《我是記憶小能手》課件
- 重癥肺炎護理查房文獻參考
- 小紅書經(jīng)典營銷案例分析
- 企業(yè)戰(zhàn)略與績效管理
- 虛擬貨幣交易合同
- 操作系統(tǒng)課程設(shè)計報告
- 檔案袋密封條格式范本(可直接打印,可自行編輯)
評論
0/150
提交評論