您的位置:首页 > 其它

JZOJ1229. Hanoi(2017.8B组)

2017-08-10 22:34 218 查看
Description

Mpq 小时候只玩过俄罗斯方块这个经典的小游戏,当时他还不知道Hanoi 究竟是

什么东西。话说当Mpq 第一次认识Hanoi 是在初三那年的联赛。由于Mpq 之前并不知

道Hanoi 是什么东西,所以那一年他做完前三题之后很郁闷地坐了1 个半小时。。。

好了,现在Mpq 成长了,他已经解决当年联赛那道Hanoi 了,在前几个月,他又

发现一道关于Hanoi 的题目了,很幸运的是这个题目他知道怎么做了。。。然后为了让大

家体验一下Mpq 初三联赛那种无奈的感觉,所以,这道题就神奇地出现在你们眼前。

Task:赶快AC 这道题目,然后你就可以狂鄙视,甚至是无视Mpq 的存在了!!!

哎,吹着吹着发现我还没把题目写下来。。。。

现在给你M 根柱子,初始的时候有N 个大小不一样的盘插在第一根柱子上面。同

样地,规格大的盘子不能放在规格比它小的盘子上面。问最少需要多少次的移动才能将

这N 个盘从第一根柱子移动到最后一根柱子上面?

Input

输入文件的第一行有两个整数n,m(1≤n≤100000,3≤m≤10),分别表示有n 个盘子和m

根柱子。

Output

输出文件只有一行,一个整数,表示最少的移动次数。保证这个移动次数不会超过

2^63-1。

Sample Input

4 3

Sample Output

15

Data Constraint

Hint

数据约定:

对于30%的数据,M=3

对于80%的数据,1≤N≤100,3≤M≤10

对于100%的数据,1≤N≤100000,6≤M≤10

想法:

设f[i][j]为有i个盘,放到第j个柱子的最少步数

f[i][3]=2^i-1,f[i][j]=2*i-1(i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: