题意:汉诺塔题目的变形,有4根柱子,可以把顶部的k个盘子移到最后的柱子上,然后按照汉诺塔,问最后走的最小步数。

思路:递推,经过递推可以发现f[n] = f[k]*2+g[n-k],其中f[n]为4个柱子时的最小步数,g[n]为3根柱子的最小步数。要用java大数来解决。

code:

import java.math.*;
import java.util.Scanner;public class Main {public static void main(String args[]){BigInteger f[] = new BigInteger[10010];f[0] = BigInteger.valueOf(0);f[1] = BigInteger.valueOf(1);int i = 2;int k=1;while(i <= 10000){BigInteger add = BigInteger.valueOf(1).shiftLeft(k);for(int j=0; j<k+1 && i<=10000; ++j){f[i] = f[i-1].add(add);++i;}++k;}  Scanner cin = new Scanner(System.in);while(cin.hasNext()){int n = cin.nextInt();System.out.println(f[n]);       }}
}

uva 10254——The Priest Mathematician相关推荐

  1. UVA 10254 The Priest Mathematician

    UVA_10254 如果我们设f[i]为4个柱子时把i个东东从一个柱子移到另一个柱子所用的最少步骤,设g[i]为3个柱子时对应的值,我们可以得到f[n]=min{2*f[k]+g[n-k]},其中g[ ...

  2. UVa Problem 10254 The Priest Mathematician (牧师数学家)

    // The Priest Mathematician (牧师数学家) // PC/UVa IDs: 110606/10254, Popularity: C, Success rate: high L ...

  3. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  4. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  5. 算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  6. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  7. ACMer Training 学习指导

    本文原地址 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> ...

  8. sicily题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

  9. [sicily]部分题目分类

    sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...

最新文章

  1. Python 23天 序列化
  2. Saltstack笔记
  3. 图形描述语言GraphML(3):图形元数据
  4. RHCS套件实现高可用负载均衡集群(三)——共享存储
  5. 根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
  6. 缓存 ASP.NET 页
  7. python 新手常见问题
  8. 易语言皮肤模块200个_王者荣耀:第一个200战令玩家,连天美都赞他的升级方法最科学...
  9. 【062】百度识图-以图搜图,查找图源及相似图
  10. libcurl - curl_easy_getinfo - 从 curl 句柄中提取信息 - 可用信息
  11. Java成员方法getinfo_Java Swagger.getInfo方法代码示例
  12. elasticsearch6.4.3实现搜索同义词
  13. 如何安装Aptana
  14. Swagger怎么没有你要的model?一个注解帮你解决
  15. 99.扩展.霍尔三维结构方法论 vs 切克兰德方法论
  16. 电商API接口系列,数据分享
  17. 保证数据库质量安全:从0开始的数据库测试
  18. PHP支付-Stripe支付对接支付宝
  19. 微众微粒贷、蚂蚁借呗、京东金条,谁能赢得网贷下半场?
  20. 深入理解TCP三次握手

热门文章

  1. 如何使用HttpModule来实现我们日常的应用:
  2. JS对url进行编码和解码(三种方式区别)
  3. 自己写了一个多行文本溢出文字补全的小库, 说不定你会用得到的
  4. centos7.3 安装 mysql-5.7.13
  5. input输入框的input事件和change事件
  6. linux中的开机和关机命令
  7. BI-SqlServer
  8. 网址出现error.aspx?aspxerrorpath=404.htm?aspxerrorpath=的原因及解决办法转
  9. Notepad++高亮AS文件
  10. 好消息,关于2005的default provider