博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ---2175 汉诺塔IX[递推]
阅读量:7239 次
发布时间:2019-06-29

本文共 1150 字,大约阅读时间需要 3 分钟。

汉诺塔IX

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 437    Accepted Submission(s): 250

Problem Description
1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根柱子上.大盘不能放在小盘上.
在第1根柱子上的盘子是a[1],a[2],...,a[n]. a[1]=n,a[2]=n-1,...,a[n]=1.即a[1]是最下
面的盘子.把n个盘子移动到第3根柱子.每次只能移动1个盘子,且大盘不能放在小盘上.
问第m次移动的是那一个盘子.
 

 

Input
每行2个整数n (1 ≤ n ≤ 63) ,m≤ 2^n-1.n=m=0退出
 

 

Output
输出第m次移动的盘子的号数.
 

 

Sample Input
63 1 63 2 0 0
 

 

Sample Output
1 2
 

 

Author
zhousc
 

 

Source
 

 

Recommend
lcy
 
 
 
 
规律:
 
1
21
121
3121
1213121
41213121
121312141213121
5121312141213121
 
 
2^(n-2)+(k-1)*(2^(n-1))=(2*k-1)*(2^(n-1))
2*k-1为奇数
code:
1 #include
2 #include
3 using namespace std; 4 5 int main() 6 { 7 __int64 n,m; 8 int i; 9 while(~scanf("%I64d%I64d",&n,&m),n||m)10 {11 if(m%2)12 {13 printf("1\n");14 continue;15 }16 if(m==int(1<<(n-1)))17 {18 printf("%I64d\n",n);19 continue;20 }21 i=1;22 while(m%2==0)23 {24 m/=2;25 i++;26 }27 printf("%d\n",i);28 }29 return 0;30 }

 

转载地址:http://dugfm.baihongyu.com/

你可能感兴趣的文章
《Photoshop Lightroom5经典教程》目录—导读
查看>>
《LDA漫游指南》——2.7 总结
查看>>
《深入实践Spring Boot》一1.2 创建项目工程
查看>>
《流量的秘密 Google Analytics网站分析与商业实战》一导读
查看>>
《HTML5和CSS3快速参考》——导读
查看>>
科学家画出了完整的生命树
查看>>
《JavaScript设计模式》——1.5 真假对象
查看>>
Mining the Social Web
查看>>
《JavaScript入门经典(第6版)》——2.3 变量
查看>>
《Java遗传算法编程》—— 1.3 进化计算的历史
查看>>
2014年5个最流行前端框架对比
查看>>
使用Ruby amb解决说谎者谜题
查看>>
弗拉特利定律:Illumina如何缔造基因革命
查看>>
世界六大银行巨头重金押注哪些金融科技初创公司?
查看>>
还有两场,阿里聚安全在广州和上海等你
查看>>
《UML用户指南(第2版.修订版)》—第2章2.2节UML的概念模型
查看>>
《21天学通C++(第7版)》——17.6 问与答
查看>>
《Unity 3.x游戏开发实例》一1.1 Unity 3D简介
查看>>
改了下rss-reader,支持atom了
查看>>
OpenStack详细解读:定义,好处与使用实例
查看>>