空档接龙中一次最多可以移动多少张牌?
在玩空挡接龙游戏时,发现有时候已经把牌型整合的很好了,结果发现想把一大叠牌移动到另外一列上的时候,电脑提示“超出可以移动牌数!”:(
那么究竟一次移动牌数到底是多少张呢?
首先介绍一下空挡接龙移动牌的规则:
空挡接龙在移动过程中只能相邻的不同花色两张牌接在一起,而且必须是小的牌在下面,例如:
3♠ | 5♥ | 4♣ |
2♦ | 3♣ | 3♠ |
√ | X | X |
空挡接龙的布局一般为:(选择15525局)
过渡单元4个↓ | 回收单元4个↓ | ||||||
- - | - - | - - | - - | - - | - - | - - | - - |
8♣ | J♣ | K♣ | Q♠ | 8♠ | J♥ | 5♦ | A♦ |
7♦ | K♥ | 3♥ | Q♦ | 9♠ | 8♥ | 6♠ | 9♣ |
5♣ | 4♥ | 10♥ | 6♣ | 2♣ | 6♦ | 6♥ | J♠ |
7♥ | J♦ | A♠ | 2♠ | 9♦ | K♦ | 3♣ | 2♦ |
7♠ | 10♦ | 4♣ | 7♣ | 4♠ | Q♥ | 10♣ | 4♦ |
5♠ | 8♦ | Q♣ | 3♠ | 9♥ | 10♠ | 2♥ | K♠ |
A♣ | 3♦ | 5♥ | A♥ | ||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
牌列8列↑ |
在移动过程中,会出现空牌列或者空过度单元,如下:
- - | Q♠ | 9♥ | - - | 5♦ | 7♣ | 7♥ | 10♠ |
K♣ | K♠ | K♥ | J♥ | ||||
Q♦ | Q♥ | Q♣ | 8♥ | ||||
J♠ | J♣ | J♦ | 6♦ | ||||
10♦ | 10♥ | 10♣ | K♦ | ||||
9♣ | 9♦ | ||||||
8♦ | 8♣ | ||||||
7♦ | |||||||
那么第3列的牌是否能够移动到第8列呢?
因为如果整列牌可以移动的话,牌列的颜色必定是间隔,对移动没有影响,为了研究方便,移动可以忽略花色。
假设过渡单元有m个,空列有n个,牌从x列移动到y列,x列上从低到高牌号为1,2,…,∞,最大可以移动多少张?
通过验证,推算最大移动数$F(n,m)=2^n \cdot (m+1)$
证明:先证明如果没有空牌列,则$F(0,m)=m+1$
如果把牌先移动到y列上,因为y列上的这这张牌只能比x列上的牌小,不能接,只能接过渡单元的牌,最大只能接m张,因此可以先将x列中m张牌移动到过渡单元,然后再移动一张到y列,然后将过渡单元的牌移动到y列上面,一共可以移动m+1张牌,这能所以$F(0,m)=m+1$。
使用归纳法证明,对n进行归纳,证明$F(n,m)=2^nF(0,m)$。
如果要移动牌列,需要借助n个空列中的一个空列,因为剩下n-1个空列,根据归纳法最多可以移动$F(n-1,m)=2^{n-1}F(0,m)$张牌到空列上,然后最多可以移动$F(n-1,m)=2^{n-1}F(0,m)$到y列,最多可以移动$F(n,m)=2F(n-1,m)=2^nF(0,m)$张牌
所以根据上面证明$F(n,m)=2^n \cdot (m+1)$