着色法

无聊开始翻看<组合数学>,第一个问题是关于完美覆盖的,解决方法是着色法.

在8x8的棋盘中能否用1x2的棋子进行覆盖,不多不少.这个很简单,用脚指头想也该想得出来.但是如果去掉对角的两个还能否完美覆盖呢.

解决方法便是使用作色法.对棋盘是用黑白颜色进行作色.如下(黑=1,白=0)

$\begin{bmatrix}1 & 0 &1  &0 \\ 0 &1  & 0 &1 \\ 1 & 0 &1  & 0\\ 0 & 1 & 0 &1 \end{bmatrix}$

一个1x2的块不论怎么放都得占位一黑一白.

去掉对角2个则去掉2个黑的,最终黑的有 8*8/2-2 = 30个 白的有8*8/2 = 32个但是按照完美覆盖定义则应该是31个1x2的块,而且黑的=白的=31.所以最终结果是不能完美覆盖.

下面的一道是练习题中的题目,也可以是用着色法解决.

能否从8x8的一个角走到对角并且每个块都走一遍(没有斜方向),且不重复.

使用着色发,还是先着色黑白.对角线上的两点颜色相同,假设都是白色,而且不论从哪个定点走哪个方向,颜色总是不同的,如果是在黑点则下一步肯定是白点.反过来也一样.

所以走法肯定是

白黑白黑.....白

注意到上面结果是奇数,而棋盘个数是偶数,所以肯定没有解的.

 

继续看书了,下一个"幻方"嗯挺好玩的,不过记得以前看过小说里有讲到的.嗯,复习<昆仑>去.

posted @ 2012-08-20 13:03  zhuangzhuang1988  阅读(437)  评论(0编辑  收藏  举报