奇怪的汉诺塔 Love The Way You Lie 2022-01-22 06:09 145阅读 0赞 题目链接:[https://www.acwing.com/problem/content/98/][https_www.acwing.com_problem_content_98] 本题是三盘汉诺塔的延伸。三盘汉诺塔我们是可以用递推来求解的。 设dp\[n\]表示求解该n盘3塔问题的最少步数,显然有dp\[n\] = 2 \* dp\[n - 1\] + 1,既把前n-1个盘子从A柱移动B柱,在把第n个盘子从A柱移动C柱,最后又把前n-1个盘子从B柱移动到C柱。这是三塔的递推式。那么四塔的递推式就是把前i个盘子移动到B或者C上(四柱移动)。然后把剩下的n-i个盘子移动到D塔上(三柱移动)。 #include"stdio.h" #include"string.h" #include"algorithm" using namespace std; int dp[21],f[21]; int main() { dp[1] = 1; for(int i = 2; i < 13; i ++) dp[i] = dp[i - 1] * 2 + 1; memset(f,0x3f,sizeof(f)); f[1] = 1; for(int i = 1; i < 13; i ++) { for(int j = 0; j < i; j ++) f[i] = min(f[i],f[j] * 2 + dp[i - j]); } for(int i = 1; i <= 12; i ++) printf("%d\n",f[i]); } [https_www.acwing.com_problem_content_98]: https://www.acwing.com/problem/content/98/
相关 汉诺塔 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的6 浅浅的花香味﹌/ 2022年08月25日 05:28/ 0 赞/ 206 阅读
相关 汉诺塔 package com.someusefuldesign.demo; /假设有A B C三个柱子移动的顺序为: / public class 妖狐艹你老母/ 2022年08月13日 15:54/ 0 赞/ 197 阅读
相关 汉诺塔 Problem Description 汉诺塔(又称河内塔)问题是印度的一个古老的传说。 开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着 Dear 丶/ 2022年06月17日 05:28/ 0 赞/ 277 阅读
相关 汉诺塔 汉诺塔 Time Limit: 1000MS Memory Limit: 65536KB [Submit][] [Statistic][] Prob 约定不等于承诺〃/ 2022年06月11日 03:24/ 0 赞/ 217 阅读
相关 汉诺塔 \include<stdio.h> void hanoi(int n,char A,char B,char C) \{ if(n==1) printf("Move s 逃离我推掉我的手/ 2022年06月10日 12:57/ 0 赞/ 262 阅读
相关 汉诺塔 def move(n, a, b, c): if n == 1: \ 如果a只有1盘子 print(a, '-->', c); \ 直接把盘子从a移到c els 迷南。/ 2022年05月18日 22:25/ 0 赞/ 292 阅读
相关 奇怪的汉诺塔 题目链接:[https://www.acwing.com/problem/content/98/][https_www.acwing.com_problem_content_9 Love The Way You Lie/ 2022年01月22日 06:09/ 0 赞/ 146 阅读
相关 汉诺塔 include <iostream> using namespace std; int main() { void hanno(int 冷不防/ 2021年09月29日 12:14/ 0 赞/ 428 阅读
相关 AcWing - 96. 奇怪的汉诺塔【DP】 题解 目录 1.题目 2.代码 1.题目 汉诺塔问题,条件如下: 1、这里有A、B、C和D四座塔。 2 桃扇骨/ 2021年07月24日 15:28/ 0 赞/ 253 阅读
还没有评论,来说两句吧...