分治算法求解棋盘覆盖问题
生活随笔
收集整理的這篇文章主要介紹了
分治算法求解棋盘覆盖问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 問題描述:
在一個2k×2k 個方格組成的棋盤中,恰有一個方格與其它方格不同,稱該方格為一特殊方格,且稱該棋盤為一特殊棋盤。在棋盤覆蓋問題中,要用圖示的4種不同形態的L型骨牌覆蓋給定的特殊棋盤上除特殊方格以外的所有方格,且任何2個L型骨牌不得重疊覆蓋。
2. 題解:
劃分問題:將 2k?2k的棋盤劃分為 2k?1?2k?1這樣的子棋盤4塊。
遞歸求解:遞歸填充各個格子,填充分為四個情況,在下面會有解釋,遞歸出口為 k=0也就是子棋盤方格數為1。
遞歸填充的分為以下四種情況:
(1)如果黑方塊在左上子棋盤,則遞歸填充左上
總結
以上是生活随笔為你收集整理的分治算法求解棋盘覆盖问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tikz 折线 箭头_[LaTeX 绘图
- 下一篇: ERP系统开发需要多少钱?