算法训练 Hanoi问题
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问题相关推荐
- 蓝桥杯 ALGO-46 算法训练 Hanoi问题
问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次? 例如N=5,M=2时,可以分别将 ...
- 蓝桥杯练习系统习题-算法训练3
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练3 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 目前最好用的大规模强化学习算法训练库是什么?
点击蓝字 关注我们 本文整理自知乎问答,仅用于学术分享,著作权归作者所有.如有侵权,请联系后台作删文处理. 本文精选知乎问题"目前最好用的大规模强化学习算法训练库是什么?"评论区 ...
- 可由一个尾指针唯一确定的链表有_极客算法训练笔记(三),链表详细图解,别再逃避了朋友...
目录 缓存引爆链表 链表单链表双向链表循环链表双向循环链表 LinkedHashMap实现LRU缓存,源码解析(JDK1.8) 算法 爬楼梯 算法 反转链表 算法 链表环检测 缓存引爆链表 存储结构 ...
- GitHub高赞,针对小白的算法训练仓库
在家隔离的日子也是好好学习提高的日子,今天TJ君看到了一个专门针对小白的算法训练,感觉不错,和大家一起来分享一下. 整个学习流程有四个步骤,分别是: PART_1_算法基础 PART_2_力扣图解 P ...
- 算法训练 素因子去重
算法训练 素因子去重 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出 ...
- 算法训练 最大的算式
算法训练 最大的算式 时间限制:1.0s 内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量 ...
- 蓝桥杯 算法训练 最大的算式
传送门 算法训练 最大的算式 时间限制:1.0s 内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终 ...
- C语言记录元音字母的位置,算法训练 确定元音字母位置
算法训练 确定元音字母位置 输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0.英语元音字母只有'a'.'e'.'i'.'o'.'u'五个. 样例输入: hello ...
最新文章
- WPF画N角芒星,正N角星
- Android 数据存储与IO (一)
- adapter pattern java_适配器模式(Adapter Pattern)
- Python 没有函数重载?如何用装饰器实现函数重载?
- SCCM 2012安装部署三:客户端管理
- OpenCV-绘制箭头cv::arrowedLine
- Shell脚本应用之服务启动脚本
- iOS 信号量解决-网络异步请求的数据同步返回问题
- 安装rational rose软件教程
- 如何清空c盘只剩系统_怎么清空c盘只保留系统文件,详情介绍
- 树莓派是什么 树莓派能做什么 树莓派的功能用途
- 联想y7000电脑未正确启动_win10无法开机提示“你的电脑未正确启动”的解决方案...
- 服务机器人研究报告:产业链分析及投资前景预测
- java rar解压
- windows当中python的安装和环境部署,和数据类型,并且在linux当中安装python是windows当中的pycharm基于linux可以运行
- abap 在屏幕如何调用选择屏幕以及如何获得选择屏幕的操作
- git HEAD切换
- html 占据剩余空间,html – 如何使左浮动div占用剩余空间的100%?
- SOLIDWORKS常见十大问题解答
- 【Rasa-Core源码阅读】Tracker
热门文章
- 爱豆 v6.12.0
- 【Python】爬虫:微博找人页面爬虫(一)
- 跟陈皓一起写 Makefile
- [音乐] The Mass(魔界传奇) (转)
- linux图像化界面读取u盘,Linux上用的4种USB image程序:Etcher,Unetbootin,DD,MultiWriter
- IE被篡改为2345主页
- 饮用水中硝酸盐超标问题的控制技术
- (转)csv — 逗号分隔值文件格式
- Linux——什么是防火墙?防火墙的种类及各自的特点如何?
- Android7.0改dpi方法,android更改位图图像的dpi的dpi dpi