1 条题解

  • 0
    @ 2025-4-26 18:11:27
    
    
    #include <iostream>
    #include <vector>
    
    int main() {
        int n;
        std::cin >> n;
    
        // dp[i][0]: 第i天不使用技能的方案数
        // dp[i][1]: 第i天使用技能的方案数
        std::vector<std::vector<long long>> dp(n + 1, std::vector<long long>(2, 0));
    
        // 初始化第一天的状态
        dp[1][0] = 1; // 第一天不使用技能
        dp[1][1] = 1; // 第一天使用技能
    
        // 状态转移
        for (int i = 2; i <= n; ++i) {
            dp[i][0] = dp[i-1][0] + dp[i-1][1]; // 第i天不使用技能
            dp[i][1] = dp[i-1][0]; // 第i天使用技能
        }
    
        // 结果为第n天无论是使用还是不使用技能的总方案数
        std::cout << dp[n][0] + dp[n][1] << std::endl;
    
        return 0;
    }
    
    • 1

    信息

    ID
    389
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    1
    已通过
    0
    上传者