题解 | #循环汉诺塔#

循环汉诺塔

https://www.nowcoder.com/practice/cdf0808f841748faba058c8ef538c731

总结:
1.本题可以使用动态规划,分为从A到B,从B到C两个状态。

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long[][] dp = new long[10000001][2];
        long mod = 1000000007;
        dp[1][0] = 1;dp[1][1] = 2;
        dp[2][0] = 5;dp[2][1]=7;
        for(int i=3;i<=n;i++){
            dp[i][0] = (1+dp[i-1][1]*2)%mod;
            dp[i][1] = (1+dp[i-1][1]+dp[i-1][0]+1+dp[i-1][1])%mod;
        }
        System.out.print(dp[n][0]+" "+dp[n][1]);

    }

}
全部评论

相关推荐

06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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