mirror of
https://github.com/huihut/interview.git
synced 2024-03-22 13:10:48 +08:00
24 lines
843 B
Markdown
24 lines
843 B
Markdown
|
|
|||
|
## 棋盘覆盖问题
|
|||
|
|
|||
|
### 代码
|
|||
|
|
|||
|
[棋盘覆盖问题代码](ChessboardCoverage.cpp)
|
|||
|
|
|||
|
### 问题说明
|
|||
|
|
|||
|
在一个2^k * 2^k个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格。
|
|||
|
|
|||
|
棋盘覆盖问题就是要用图示的4种不同形态的L型骨牌覆盖给定棋盘上除特殊方格之外的所有方格,且任何2个L型骨牌不得重叠覆盖。
|
|||
|
|
|||
|
![](http://blog.chinaunix.net/attachment/201303/1/26548237_1362125215RWwI.png)
|
|||
|
|
|||
|
### 功能说明
|
|||
|
|
|||
|
本程序用分治法的思想解决了棋盘覆盖问题,显示输出
|
|||
|
|
|||
|
### 代码简述
|
|||
|
|
|||
|
用户输入数据,程序输入检测,动态分配空间,调用棋盘覆盖函数,把计算结果存储到board(二维数组指针),显示输出。
|
|||
|
|
|||
|
其中棋盘覆盖函数用分治的思想把棋盘分成四份,递归求解。
|