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

栏目: 编程工具 · 发布时间: 7年前

内容简介:问题描述输入格式输入数据仅有一行,包括两个数N和M(0<=M<=N<=8)

问题描述

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

输入格式

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

输出格式

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

样例输入

分析:数学问题,递归得出公式f(n) = 2f(n)+1, 然后通过数学推算得通项公式为 f(n) = 2^n-1

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    int n, m, ans = 0;
    cin >> n >> m;
    if (n % m == 0) n /= m;
    else n = n / m + 1;
    cout << (int) pow(2, n) - 1;
    return 0;
}
❤❤点击这里 -> 订阅PAT、蓝桥杯、GPLT天梯赛、LeetCode题解离线版❤❤ 蓝桥杯 ALGO-46 算法训练 Hanoi问题

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First jQuery

Head First jQuery

Ryan Benedetti , Ronan Cranley / O'Reilly Media / 2011-9 / USD 39.99

Want to add more interactivity and polish to your websites? Discover how jQuery can help you build complex scripting functionality in just a few lines of code. With Head First jQuery, you'll quickly g......一起来看看 《Head First jQuery》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具