
## 棋盘覆盖问题

### 代码

[棋盘覆盖问题代码](ChessboardCoverage.cpp)

### 问题说明

在一个2^k * 2^k个方格组成的棋盘中，恰有一个方格与其它方格不同，称该方格为一特殊方格。
    
棋盘覆盖问题就是要用图示的4种不同形态的L型骨牌覆盖给定棋盘上除特殊方格之外的所有方格，且任何2个L型骨牌不得重叠覆盖。

![](http://blog.chinaunix.net/attachment/201303/1/26548237_1362125215RWwI.png)

### 功能说明

本程序用分治法的思想解决了棋盘覆盖问题，显示输出

### 代码简述

用户输入数据，程序输入检测，动态分配空间，调用棋盘覆盖函数，把计算结果存储到board（二维数组指针），显示输出。

其中棋盘覆盖函数用分治的思想把棋盘分成四份，递归求解。