《算法竞赛进阶指南》0x02 汉诺塔四塔问题 递推关系

题目链接:http://poj.org/problem?id=1958

代码:

#include<iostream>
#include<cstring>
using namespace std;
#define maxn 100 
typedef long long ll;
ll d[maxn],f[maxn];
int main(){
    memset(f,0x3f,sizeof(f));
    d[1]=1;
    f[1]=1;
    int n = 12;
    for(int i=2;i<=n;i++)d[i]=d[i-1]*2+1;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<i;j++){
            f[i]=min(f[i],2*f[j]+d[i-j]);
        }
    }
    for(int i=1;i<=n;i++)cout<<f[i]<<endl;
} 
原文地址:https://www.cnblogs.com/randy-lo/p/13124270.html