【递推】【DP】-HDU-1995-汉诺塔⑤
来源:互联网 发布:java ftp demo 编辑:程序博客网 时间:2024/05/18 06:16
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1995
题目描述:计算汉诺塔中某个盘子的移动次数
解题思路:
想了好久,突然顿悟!
思路如下,所谓递推,即是前者与后者存在直接联系,由前者可以直接推出后者,因此必须有一端是已知的,这题里显然最下面的盘子只被动了一次,这就是开端,然后我们考虑紧挨着的两张盘子的递推关系,发现上面盘子是紧挨着的下面盘子移动次数的二倍,因为移动过程如下:
【注:柱子A、B、C,紧挨着的两盘子:上方盘子 i ,下方盘子 j 】
①:i 以上的盘子A移到C。
②:i 从A移到B。
③:i 以上的盘子C移到B。
④:j 从A移到C。
⑤:i 以上的盘子B移到A。
⑥:i 从B移到C。
⑦:i 以上的盘子A移到C。
然后天空飘来五个字,AC不是事。
AC代码:
#include <iostream>using namespace std;int num,ans;long long f(int x){ long long ans=1; int i; for(i=1;i<=x;i++) ans*=2; return ans;}int main(){ int n,k,T; cin>>T; while(T--) { cin>>n>>k; cout<<f(n-k)<<endl; } return 0;}
AC截图:
0 0
- 【递推】【DP】-HDU-1995-汉诺塔⑤
- hdu 1995 汉诺塔V(推公式+dp)
- 【递推】【DP】-HDU-1207-汉诺塔②
- 【递推】【DP】-HDU-1996-汉诺塔⑥
- 【递推】【DP】-HDU-2064-汉诺塔③
- 【递推】【DP】-HDU-2175-汉诺塔⑨
- hdu 2064 汉诺塔III(推公式+dp)
- hdu 2077 汉诺塔IV(推公式+dp)
- hdu 4472 Count DP 递推
- hdu 一卡通大冒险 递推 或是 dp
- HDU 3831 DICS 递推dp
- HDU 5375 Gray code //递推dp
- HDU 2709 Sumsets(DP递推)
- HDU 2709 总结 DP/递推
- hdu 5719 Arrange (dp 递推 排列组合)
- HDU 4489 (DP递推计数)
- HDU-4455 Substrings DP递推
- 【线性递推DP】hdu 5550
- ubuntu英文环境下中文字体显示很难看的解决方案(基于ubuntu12.04)
- 三大框架SSH(struts2+spring+hibernate)整合时相关配置文件的模板
- QuickLuaTour
- android,内容观察者,数据库变化通知
- 黑马程序员_Java基础加强(上)_eclipse及5.0新特性_26
- 【递推】【DP】-HDU-1995-汉诺塔⑤
- hibernate工作流程
- android,获取联系人信息
- 2个scanner的例子
- 在vb.net中取得两时间的毫秒差
- 左旋转数组
- 关于在Sqlite3中如何判断数据表返回的结果集是否为空的问题解决
- android,添加联系人
- 今天第一次开 哈哈