HDOJ 1207 汉诺塔II
来源:互联网 发布:软件授权协议 编辑:程序博客网 时间:2024/06/03 23:38
HDACM1207
采用动态规划的方法来做。
假设上面的a个盘子是通过4根柱子全移到第2个柱子上,则下面(n-a)个盘子只能通过3根柱子移到最后一根柱子上,
此时,h2[n] = h2[a]*2+(long)Math.pow(2,n-a)-1。
显然这不一定是最优解,所以a++依次求直到找到h2[n]的最优解
import java.util.Scanner;public class Main { public static void main(String[] args) { long h2[] = new long[65]; h2[1] = 1; h2[2] = 3; h2[3] = 5; for (int i = 4; i < h2.length; i++) { h2[i] = h2[i/2]*2+(long)Math.pow(2, i-i/2)-1; for (int j = i/2+1; j < i; j++) { long t = h2[j]*2+(long)Math.pow(2, i-j)-1; if (t<h2[i]) { h2[i] = t; } } } Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); System.out.println(h2[n]); } sc.close(); }}
阅读全文
0 0
- hdoj 1207 汉诺塔II
- HDOJ 1207 汉诺塔II
- hdoj.1207 汉诺塔II 20140808
- hdoj 1207 汉诺塔II 【dp】
- ACM HDOJ 汉诺塔II
- HDOJ题目1207汉诺塔II(递推,易错)
- hdoj 2236 无题II
- HDOJ 1023 Train Problem II
- HDOJ 1023 Train Problem II
- HDOJ 2639 Bone Collector II
- HDOJ 1002 A + B II
- HDOJ 1023 Train Problem II
- hdoj 1977 Consecutive sum II
- 【BestCoder】 HDOJ 5233 Gunner II
- HDOJ~~A + B Problem II
- hdoj 5233 Gunner II 【二分】
- hdoj-1977-Consecutive sum II
- hdoj-1023-Train Problem II
- maven 默认JDK设置
- 详细Windows10下Myeclipse 2017安装图解教程
- 操作系统面试持续总结中。。。
- Macaca Inspector启动命令
- Kafka设计解析(七)- Kafka Stream
- HDOJ 1207 汉诺塔II
- 编写现代CSS代码的建议
- bootstarp modal 上使用bootstarp-datepicker 年月下拉框点击不出来的bug
- mysql主从复制集群搭建
- 玩具谜题
- JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
- 容斥原理自学笔记
- A
- Service全面总结