ALGO-46 Hanoi问题

资源限制

时间限制:1.0s 内存限制:512.0MB

问题描述

如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次?
例如N=5,M=2时,可以分别将最小的2个盘子、中间的2个盘子以及最大的一个盘子分别看作一个整体,这样可以转变为N=3,M=1的情况,共需要移动7次。

输入格式

输入数据仅有一行,包括两个数N和M(0<=M<=N<=8)

输出格式

仅输出一个数,表示需要移动的最少次数

测试样例

输入:
5
2输出:
7

AC code:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt(), M = sc.nextInt();System.out.print(pow2(N % M + N / M) - 1);}static int pow2(int n) {if (n == 0) return 1;if ((n & 1) == 1) return 2 * square(pow2(n / 2));return square(pow2(n / 2));}static int square(int n) { return n * n; }
}

试了几个刷题网站,寝室的网只能打开洛谷

再加上蓝桥前面的题真是过于简单

转战了

算法训练 Hanoi问题相关推荐

  1. 蓝桥杯 ALGO-46 算法训练 Hanoi问题

    问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次? 例如N=5,M=2时,可以分别将 ...

  2. 蓝桥杯练习系统习题-算法训练3

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练3 题目搜索方式:Ctrl+F--> 输入题目名称-> ...

  3. 目前最好用的大规模强化学习算法训练库是什么?

    点击蓝字  关注我们 本文整理自知乎问答,仅用于学术分享,著作权归作者所有.如有侵权,请联系后台作删文处理. 本文精选知乎问题"目前最好用的大规模强化学习算法训练库是什么?"评论区 ...

  4. 可由一个尾指针唯一确定的链表有_极客算法训练笔记(三),链表详细图解,别再逃避了朋友...

    目录 缓存引爆链表 链表单链表双向链表循环链表双向循环链表 LinkedHashMap实现LRU缓存,源码解析(JDK1.8) 算法 爬楼梯 算法 反转链表 算法 链表环检测 缓存引爆链表 存储结构 ...

  5. GitHub高赞,针对小白的算法训练仓库

    在家隔离的日子也是好好学习提高的日子,今天TJ君看到了一个专门针对小白的算法训练,感觉不错,和大家一起来分享一下. 整个学习流程有四个步骤,分别是: PART_1_算法基础 PART_2_力扣图解 P ...

  6. 算法训练 素因子去重

    算法训练 素因子去重 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出 ...

  7. 算法训练 最大的算式

    算法训练 最大的算式   时间限制:1.0s   内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量 ...

  8. 蓝桥杯 算法训练 最大的算式

    传送门 算法训练 最大的算式   时间限制:1.0s   内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终 ...

  9. C语言记录元音字母的位置,算法训练 确定元音字母位置

    算法训练 确定元音字母位置 输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0.英语元音字母只有'a'.'e'.'i'.'o'.'u'五个. 样例输入: hello ...

最新文章

  1. WPF画N角芒星,正N角星
  2. Android 数据存储与IO (一)
  3. adapter pattern java_适配器模式(Adapter Pattern)
  4. Python 没有函数重载?如何用装饰器实现函数重载?
  5. SCCM 2012安装部署三:客户端管理
  6. OpenCV-绘制箭头cv::arrowedLine
  7. Shell脚本应用之服务启动脚本
  8. iOS 信号量解决-网络异步请求的数据同步返回问题
  9. 安装rational rose软件教程
  10. 如何清空c盘只剩系统_怎么清空c盘只保留系统文件,详情介绍
  11. 树莓派是什么 树莓派能做什么 树莓派的功能用途
  12. 联想y7000电脑未正确启动_win10无法开机提示“你的电脑未正确启动”的解决方案...
  13. 服务机器人研究报告:产业链分析及投资前景预测
  14. java rar解压
  15. windows当中python的安装和环境部署,和数据类型,并且在linux当中安装python是windows当中的pycharm基于linux可以运行
  16. abap 在屏幕如何调用选择屏幕以及如何获得选择屏幕的操作
  17. git HEAD切换
  18. html 占据剩余空间,html – 如何使左浮动div占用剩余空间的100%?
  19. SOLIDWORKS常见十大问题解答
  20. 【Rasa-Core源码阅读】Tracker

热门文章

  1. 爱豆 v6.12.0
  2. 【Python】爬虫:微博找人页面爬虫(一)
  3. 跟陈皓一起写 Makefile
  4. [音乐] The Mass(魔界传奇) (转)
  5. linux图像化界面读取u盘,Linux上用的4种USB image程序:Etcher,Unetbootin,DD,MultiWriter
  6. IE被篡改为2345主页
  7. 饮用水中硝酸盐超标问题的控制技术
  8. (转)csv — 逗号分隔值文件格式
  9. Linux——什么是防火墙?防火墙的种类及各自的特点如何?
  10. Android7.0改dpi方法,android更改位图图像的dpi的dpi dpi