algorithm - 河内具体问题

标签 algorithm puzzle towers-of-hanoi

假设有 2*n 个圆盘,奇数圆盘在“A”条上,偶数圆盘在“B”条上,如何解决汉诺问题? 如果需要更多信息,请告诉我。

谢谢

最佳答案

将磁盘 1 移动到磁盘 2 然后使用经典算法将生成的“正确的”hanoi towner 1,2 移动到磁盘 3 上。 然后将正确的塔 1、2、3 移动到 4。继续直到你得到完整的正确塔,然后使用经典算法移动到目的地。

编辑1:

示例(不完整)

1   2
3   4
5   6   
.   .   .

    1
    2
3   4
5   6   
.   .   .

    1
    2
    4
5   6   3
.   .   .

    2
1   4   
5   6   3
.   .   .

1   4   2   
5   6   3
.   .   .

        1
    4   2   
5   6   3
.   .   .

        1
4       2   
5   6   3
.   .   .

这很奇怪,因为最后一步有点优化;我所描述的将尝试构建 1-2-3-4-6,但我们直接跳转到构建 1-2-3-4-5。这可能意味着什么。

关于algorithm - 河内具体问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4528233/

相关文章:

c - 通过恰好更改一个字符来修复损坏的循环

c - 调试错误: Kruskal Algorithm, ADT

algorithm - 从A点到B点,只能向上和向右移动,有多少种可能的移动方式?

c++ - 从输入中读取两个值并将它们相加,仅使用一个变量.. 可能吗?

assembly - ARM 组装难题

algorithm - 汉诺塔 - 贝尔曼方程解

prolog - 在 Prolog 中,如何通过广度优先或深度优先搜索来解析汉诺塔?

c - 如何将整数数组转换为排列并计算其中的循环?

algorithm - 如何从与另一个集合成比例的集合中随机选择定义数量的元素?