poj1920 Towers of Hanoi
2013-08-16 16:34
260 查看
关于汉诺塔的递归,记住一个结论是,转移n个盘子至少需要2^n-1步
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<string> using namespace std; int two[100005],pos[100005]; int main() { int n,nn[5],i,j,ans,now,end,mid,a; two[0]=1; for(i=1;i<=100000;i++) two[i]=(two[i-1]*2)%1000000; while(~scanf("%d",&n)) { scanf("%d%d%d",&nn[1],&nn[2],&nn[3]); for(i=1;i<=3;i++) { for(j=1;j<=nn[i];j++) { scanf("%d",&a); pos[a]=i; } } ans=0; end=now=pos ; printf("%d\n",pos ); while(n>0) { if(end!=now) { ans=(ans+two[n-1])%1000000; end=mid; } n--; now=pos ; mid=6-now-end; } printf("%d\n",ans); } return 0; }
相关文章推荐
- poj1920 Towers of Hanoi
- ZOJ Problem Set - 2338 The Towers of Hanoi Revisited DFS+预处理
- URAL - 2029 Towers of Hanoi Strike Back
- POJ 1958 Strange Towers of Hanoi (线性dp 推公式)
- ural 2029 Towers of Hanoi Strike Back (数学找规律)
- sgu-202 The Towers of Hanoi Revisited
- UVa:254 Towers of Hanoi
- poj 1958 Strange Towers of Hanoi
- c/c++ 算法之汉诺塔(河内之塔(Towers of Hanoi))
- ZOJ-2338 The Towers of Hanoi Revisited 输出汉诺塔的最优解移动过程
- 【poj1958】Strange Towers of Hanoi
- POJ 1958 Strange Towers of Hanoi (四塔问题,线性dp,记忆化搜索)
- A Brief Summary of Towers of Hanoi Puzzle
- UVA 254 - Towers of Hanoi(递归)
- POJ 1958 Strange Towers of Hanoi [dp]
- poj 1958 Strange Towers of Hanoi
- poj 1958 Strange Towers of Hanoi
- POJ 1920 Towers of Hanoi 笔记
- uva254 - Towers of Hanoi 递归
- 汉诺塔问题(Towers of Hanoi)