题目
一个\(8\times 8\)棋盘被32块\(2\times 1\)多米诺骨牌任意铺满。 现在在棋盘最上面一行的最右侧额外加一个方格,使得最上行长度变为9。 你可以在任意时刻把一块骨牌从当前位置拿起并移动到新位置,条件是:拿起后棋盘上要有一对相邻空格可以放下这块骨牌。 问:能否把这个“增广后的棋盘”重新铺成所有骨牌都水平放置?
分析
结论:可以。
考虑如下的初始局部形状(右上角是空位):
a1 b1 (space)
a2 b2
第1步:拿起竖放的\(b1b2\),放到上排相邻空格处:
a1 b1 b2
a2 (space)
第2步:再拿起竖放的\(a1a2\),放到底排相邻空格处:
(space) b1 b2
a1 a2
第3步:把上排横放的\(b1b2\)左移一格:
b1 b2 (space)
a1 a2
这个三步过程表明两件事:
- 空位可以在局部自由移动到我们想要的位置。
- 借助空位,可以把局部竖放改造成横放,并继续把空位送走,供下一处使用。
因此,在整个增广棋盘上,我们就可以反复执行同类局部操作:
- 先把空位搬到目标附近;
- 把该处的竖放多米诺改成横放;
- 再把空位搬到下一处。
从“任意初始铺法”出发,经过有限次这样的局部搬运与重排,最终可以把原\(8\times 8\)区域整理成全横放。新增出来的那一个格子始终作为唯一空格存在,于是整个增广棋盘上32块多米诺都可变为横放。
所以答案是:能重铺成全横放。