HDU 2064
来源:互联网 发布:网络协议大全 编辑:程序博客网 时间:2024/06/06 03:51
汉诺塔III
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17616 Accepted Submission(s): 8226
Problem Description
约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。
现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面。
Daisy已经做过原来的汉诺塔问题和汉诺塔II,但碰到这个问题时,她想了很久都不能解决,现在请你帮助她。现在有N个圆盘,她至少多少次移动才能把这些圆盘从最左边移到最右边?
Input
包含多组数据,每次输入一个N值(1<=N=35)。
Output
对于每组数据,输出移动最小的次数。
Sample Input
1
3
12
Sample Output
2
26
531440
Author
Rabbit
Source
RPG专场练习赛
Recommend
lcy | We have carefully selected several similar problems for you: 2077 1207 1996 1995 2184
#include<bits/stdc++.h>using namespace std;long long hanio(long long a,long long b,long long c,long long n){ long long sum=0; if(n>1) { sum+=3*hanio(a,b,c,n-1); } sum+=2; return sum;}int main(){ long long n; long long ans[36]; for(long long i=1;i<=35;i++) { ans[i]=hanio(1,2,3,i); // cout<<ans[i]<<endl; } while(cin>>n) { cout<<ans[n]<<endl; }}
阅读全文
0 0
- HDU-2064
- hdu 2064
- hdu 2064
- HDU 2064
- hdu 2064 汉诺塔III
- hdu 2064 汉诺3
- HDU 2064 汉诺塔问题
- HDU 2064 汉诺塔III
- HDU 2064 汉诺塔III
- HDU 2064 汉诺塔III
- HDU 2064 汉诺塔III
- hdu 2064 汉诺塔III
- HDU 2064 汉诺塔III
- hdu---2064汉诺塔III
- hdu 2064 汉诺塔
- HDU 2064 汉诺塔III
- hdu 2064 汉诺塔III
- HDU 2064 汉诺塔III
- java相关概念
- Ajax
- eclipse如何消除error pages的错误
- NSURLProtocol实现对WKWebView加载的网页的数据缓存
- 比特币开发专题(为什么比特币和人民币可以等值兑换)
- HDU 2064
- mysql添加外键报错:1452
- Sublime Text 3 快捷键精华版
- 《深入理解java虚拟机》读书笔记——OOM发生的原因及解决方案
- mysql给root开启远程访问权限,修改root密码
- Java Properties基础知识总结
- 【liunx 】大话liunx菜鸟晋级之路-安装配置svn
- 72. Edit Distance
- 倩语倩寻