n盘m塔 汉诺塔
Posted ls-joze
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了n盘m塔 汉诺塔相关的知识,希望对你有一定的参考价值。
int dp[maxn][maxn]; signed main() /*n个盘 m座塔*/ int n,m; n=31,m=31; /*初始化动规边界*/ dp[2][1]=1;//初始化两座塔的情况 for(int i=3; i<=m; ++i) dp[i][1]=1;//初始化只有一个盘的情况 for(int i=2; i<=n; ++i) dp[3][i]=2*dp[3][i-1]+1;//初始化只有三座塔的情况 /*计算m塔问题,m>3 */ for(int i=4; i<=m; ++i) for(int j=2; j<=n; ++j) dp[i][j]=dp[i-1][j]; for(int k=1; k<j; ++k) dp[i][j]=min(2*dp[i][k]+dp[i-1][j-k],dp[i][j]); /*输出结果*/ for(int i=3;i<=m;++i) for(int j=1;j<=n;++j) pfk(dp[i][j]); pfhh; return 0;
以上是关于n盘m塔 汉诺塔的主要内容,如果未能解决你的问题,请参考以下文章