Strange-Towers-of-Hanoi


title: Strange Towers of Hanoi
date: 2023-12-11 03:20:05
tags: 递推
categories: 算法进阶指南

题目大意

解出 n n n 个盒子 4 4 4 座塔的汉诺塔问题最少需要多少次?

思路

首先考虑 n n n 个盒子 3 3 3 座塔的经典汉诺塔问题,设 d [ n ] d[n] d[n] 表示求解该 n n n 题的最少步数,即把 n − 1 n - 1 n1 个盒子从 A A A 柱移动到 B B B 柱,然后把第 n n n 个盒子从 A A A 柱移动到 C C C 柱,然后把前 n − 1 n - 1 n1 个盒子从 B B B 柱移动到 C C C 柱子。四塔模式下,转化为三塔模式,先移动 i i i 个,移动到 B B B 柱子,将 n − i n - i ni 个盒子移动到 D D D 柱子,然后再把 i i i 个盒子从 B B B 柱移动到 D D D 柱子。就是将四塔转化为三塔,运用三塔的思维来进行解题

代码

#include<bits/stdc++.h>
using namespace std;

typedef long long LL;

const int N = 22;


int d[N],f[N];//三层和四层汉诺塔
//三层汉诺塔 d[n] = 2 * d[n - 1] + 1;
//四层汉诺塔,转化为三层汉诺塔问题
int main()
{
   
    memset(f,0x3f,sizeof f);
	d[1] = f[1] = 1;
    for(int i = 2;i <= 12; i ++){
   
        d[i] = 2 * d[i - 1] + 1;
    }
    cout << 1 << endl;
    for(int i = 2; i <= 12; i ++){
   
        for(int j = 1; j <= i; j ++){
   
            f[i] = min(f[i],2 * f[j]  + d[i - j]);
        }
        cout << f[i] << endl;
    }
	return 0;
} 

相关推荐

  1. Strange-Towers-of-Hanoi

    2023-12-11 08:28:03       34 阅读
  2. <span style='color:red;'>hanoi</span>塔

    hanoi

    2023-12-11 08:28:03      15 阅读
  3. Leetcode 345. Reverse Vowels of a String

    2023-12-11 08:28:03       31 阅读
  4. Leetcode 1071. Greatest Common Divisor of Strings

    2023-12-11 08:28:03       33 阅读
  5. xtu oj 1354 Digit String

    2023-12-11 08:28:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 08:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 08:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 08:28:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 08:28:03       20 阅读

热门阅读

  1. 20231210 随机矩阵和M矩阵

    2023-12-11 08:28:03       36 阅读
  2. HTTPS加密协议:保护你的隐私与安全的铠甲

    2023-12-11 08:28:03       35 阅读
  3. 【Spring】Spring 微服务中的数据分区和分片

    2023-12-11 08:28:03       32 阅读
  4. 深入理解 Flask 中的 Session 和 Cookies

    2023-12-11 08:28:03       38 阅读
  5. oracle 清理归档日志

    2023-12-11 08:28:03       40 阅读
  6. SQL Server查询计划(Query Plan)——SQL处理过程

    2023-12-11 08:28:03       36 阅读
  7. 【前端设计模式】之备忘录模式

    2023-12-11 08:28:03       31 阅读
  8. vue项目搭建---1.搭建基础的框架

    2023-12-11 08:28:03       31 阅读