不太懂这操作有多少次?
查看原帖
不太懂这操作有多少次?
541382
BelowHorizon楼主2021/8/24 20:18

t3

定义一个操作可以将一个柱子上同样颜色的球给单独拎出来放到一个柱子上。这个操作需要三个柱子。设为 A,B,C 柱,其中 A 柱就是要提出同样颜色的柱子,C 柱就是那个 n+1 柱,B 柱任意指定即可(为了方便这里定为 A+1 柱)。再定义当前需要颜色的球为 1 球,不需要的为 0 球。考虑从 A 柱栈顶开始取球。

若当前栈顶为 1 球,从 B 柱上拿走 i 个球(i 为第 i 个 1 球)放到 C 柱上,然后把 A 柱栈顶求放到 B 柱上,最后再把 C 柱栈顶放到 A 柱上,再把 C 柱栈顶 i-1 个球放到 B 柱上。

若当前栈顶为 0 球,直接放到 C 柱上即可。。

当 A 柱栈空后。为了方便下一次的操作,把 B 柱上的球全部转移到 A 柱上,C 柱上的球全部转移额 B 柱上。

重复操作直到 A 柱上全为 1 球。

2021/8/24 20:18
加载中...