hdu 2064 汉诺塔III

来源:互联网 发布:谁用过网络麻将开挂 编辑:程序博客网 时间:2024/06/05 00:11

 考虑把n-1个移动到c盘,然后把n移动到b,再把n-1个移动到a,把n移动到c,再把n-1个移动到c。

递推公式 F[n]=3*F[n-1]+2;

AC代码:

#include<cstdio>const int maxn=36;long long ans[maxn];void solve(){    ans[0]=0;    ans[1]=2;    for(int i=2;i<=35;++i){        ans[i]=ans[i-1]*3+2;    }}int main(){    solve();    int n;    while(scanf("%d",&n)==1){        printf("%lld\n",ans[n]);    }    return 0;}

如有不当之处欢迎指出!

0 0
原创粉丝点击