Yet Another Hanoi Problem

Yet Another Hanoi Problem

https://ac.nowcoder.com/acm/contest/5795/N

Yet Another Hanoi Problem

题意

无论从A到C还是从C到A都必须经过B柱,求完成n层汉诺塔的移动次数

思路

先考虑经典汉诺塔问题,如果汉诺塔有n层,那么需要移动次。

本题要求必须经过B柱,问题就转化为,有多少次操作是跨过了B柱的

如果是萌新,建议写一个最开始的汉诺塔程序,做一个模拟,在递归的输出部分稍作调整,就可以观察到次里有次是跨过B柱的,这些次数本来是只需要移动一次即可完成(eg.a->c),现在需要两次(eg.a->b->c)才可以,所以加上,结果就是,也就是我们需要求出的答案。

solution

T = int(input())
for i in range(T):
    n = int(input())
    print(pow(3,n,1000000007)-1)
算法竞赛之路 文章被收录于专栏

整理、记录算法竞赛的好题

全部评论

相关推荐

废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务