码迷,mamicode.com
首页 > 其他好文 > 详细

题解报告:hdu1995汉诺塔V

时间:2018-02-24 23:11:33      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:报告   链接   its   body   return   clu   php   代码   mes   

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1995

解题思路:求第k号盘子至少需要移动的次数,实际上是求n-k(认作是前g-1个盘子移动的总次数)个盘子(还欠一个)至少需要移动的次数再加上第(n-k+1)(认作是第g个盘子)个盘子移动一次即为移动的总次数

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 int main()
 5 {
 6     int T,N,k;
 7     LL a[61]={0};
 8     a[1]=1;
 9     for(int i=2;i<61;i++)//先打表
10         a[i]=2*a[i-1]+1;//汉诺塔递推规律
11     while(cin>>T){
12         while(T--){
13             cin>>N>>k;
14             cout<<a[N-k]+1<<endl;
15         }
16     }
17     return 0;
18 }

 

题解报告:hdu1995汉诺塔V

标签:报告   链接   its   body   return   clu   php   代码   mes   

原文地址:https://www.cnblogs.com/acgoto/p/8467772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!