POJ 1958 Strange Towers of Hanoi G++ 汉诺塔 动态规划 背
程序员文章站
2022-04-06 18:44:49
...
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
//英语 看博友分析 抄博友程序 汉诺塔 动态规划 背
int f[20];
int main()
{
//for(int i=1;i<=12;i++)//wa 先移动最上边的一个 再将其他n-1个按标准汉诺塔移动 最后将最小的盘子移动到排好的n-1个汉诺塔上
//cout<<1+ pow(2,i-1)-1 +1<<endl;//wa
memset(f,0x3f,sizeof(f));
f[1]=1;
for(int i=1;i<=12;i++)
{
for(int j=1;j<i;j++)
{
f[i]=min(f[i],f[j]*2+(int)pow(2,i-j)-1);
}
}
for(int i=1;i<=12;i++)
{
cout<<f[i]<<endl;
}
}