在玩空挡接龙游戏时,发现有时候已经把牌型整合的很好了,结果发现想把一大叠牌移动到另外一列上的时候,电脑提示“超出可以移动牌数!”:(
那么究竟一次移动牌数到底是多少张呢?
首先介绍一下空挡接龙移动牌的规则:
空挡接龙在移动过程中只能相邻的不同花色两张牌接在一起,而且必须是小的牌在下面,例如:

3♠5♥4♣
2♦3♣3♠
XX

空挡接龙的布局一般为:(选择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♥
12345678
牌列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)$