我正在尝试解决河内塔的变体。在这种情况下,我有两个塔,高度相同,磁盘大小相同。只要磁盘大小相同或更小,我就可以将它们堆叠在一起。颜色不考虑堆叠能力。
我有三个钉子和两个塔,任务是交换两个塔。
我最初的方法是用交替的颜色建造一座塔,然后用不同的钉子向后移动。
我只是认为这不是最优雅的解决方案。有一个更好的方法吗?
更新:
我以为我很接近解决这个问题,但我没有。我在纸上记录了所有的动作(对于 n=3),它看起来与原始算法非常相似,只是很多动作都完成了两次。不幸的是,我无法将其放入递归算法中。这很令人沮丧。有人有想法吗?