PKU POJ 1958 Strange Towers of Hanoi DP

一维DP,不用进行递归。

 

#include<iostream>
using namespace std;
int main()
{
    int n,k,min[13];
    min[1]=1;
    min[2]=3;
    printf("1\n3\n");
    for (n=3;n<=12;++n)
    {
        min[n]=0x7fffffff;
        for (k=1;k<n;++k)
            if(min[n]>(min[k]<<1)+(1<<(n-k))-1)
                min[n]=(min[k]<<1)+(1<<(n-k))-1;
        printf("%d\n",min[n]);
    }
    return 0;
}

 

 

 

posted on 2013-03-04 18:12  Deller  阅读(142)  评论(0)    收藏  举报

导航