6 solutions

  • 1
    @ 2023-8-16 8:59:33

    这题和Fibonacci数列比较相似,本质上是一个简单的动态规划。 递推公式为:dp[i] = dp[i-1] +dp[i-2] 注意dp数组的初始化,dp[1]=1,dp[2]=2。


    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    LL dp[100];
    
    int main(){
    // dp[n] = dp[n-1] + dp[n-2]
    // dp[0] = ? dp[1] = 1 dp[2] = 2
    int n;
    cin>>n;
    dp[1]=1;dp[2]=2;
    for(int i=3;i<=n;i++){
    dp[i] = dp[i-1]+dp[i-2];
    }
    cout<<dp[n];
    return 0;
    
    }
    

    Information

    ID
    49
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    7
    Tags
    # Submissions
    541
    Accepted
    135
    Uploaded By