洛谷 P1760 通天之汉诺塔
2016-11-10 00:03
197 查看
题目背景
直达通天路·小A历险记第四篇题目描述
在你的帮助下,小A成功收集到了宝贵的数据,他终于来到了传说中连接通天路的通天山。但是这距离通天路仍然有一段距离,但是小A突然发现他没有地图!!!但是幸运的是,他在山脚下发现了一个宝箱。根据经验判断(小A有经验吗?),地图应该就在其中!在宝箱上,有三根柱子以及在一根柱子上的n个圆盘。小A在经过很长时间判断后,觉得这就是hanoi塔!(这都要琢磨)。但是移动是需要时间的,所以小A必须要通过制造延寿药水来完成这项任务。现在,他请你告诉他需要多少步完成,以便他造足够的验收药水。时限1s。输入输出格式
输入格式:一个数n,表示有n个圆盘
输出格式:
一个数s,表示需要s步。
输入输出样例
输入样例#1:input1:31 inout2:15
输出样例#1:
output1:2147483647 output2:32767
说明
对于所有数据n<=15000很容易的练手题哦!
公式:2^n-1。
加上高精度就好了。
#include<iostream> #include<cstdio> using namespace std; int n,ans[10005]; int main() { scanf("%d",&n); ans[0]=ans[1]=1; for(int i=1;i<=n;i++) { for(int j=1;j<=ans[0];j++) ans[j]*=2; for(int j=1;j<=ans[0];j++) ans[j+1]+=ans[j]/10,ans[j]%=10; if(ans[ans[0]+1]!=0) ans[0]++; while(ans[ans[0]]/10!=0) ans[ans[0]+1]+=ans[ans[0]]/10,ans[ans[0]]%=10,ans[0]++; } ans[1]--; for(int i=ans[0];i>=1;i--) printf("%d",ans[i]); printf("\n"); return 0; }
相关文章推荐
- 洛谷 P1760 通天之汉诺塔
- 洛谷 通天系列 P1760 P1757 P1759
- 通天之潜水(洛谷 1759)
- 洛谷 P1757 通天之分组背包
- 洛谷 P1759 通天之潜水
- 洛谷P1759 通天之潜水
- 洛谷P1757 通天之分组背包
- 洛谷 P1759 通天之潜水
- 洛谷 P1759 通天之潜水
- 洛谷——P1757 通天之分组背包
- 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]
- |洛谷|动态规划|P1757 通天之分组背包
- 洛谷P1757 通天之分组背包
- [dfs] 洛谷 P1242 新汉诺塔
- 修复公路 洛谷1111 并查集 水题
- 洛谷 P2325 [SCOI2005]王室联邦
- 传纸条 NOIP2008 洛谷1006 二维dp
- 汉诺塔(递归实现与非递归实现)
- 洛谷1417 烹调方案 dp 贪心
- 【三分】洛谷3382[三分法]题解