题解 | 牛牛学数列6

牛牛学数列6

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

#include <iostream>
#include <vector>
using namespace std;
int An(int n){
    if(n == 1)return 0;
    if(n == 2 && n == 3)return 1;
    vector<int> dp(n + 1);
    dp[1] = 0;
    dp[2] = 1;
    dp[3] = 1;
    for(int i = 4;i <= n; ++i){
        dp[i] = dp[i - 3] + 2 * dp[i - 2] + dp[i - 1];
    }
    return dp[n];
}
int main() {
    int n;
    cin >> n; // 注意 while 处理多个 case
    cout << An(n) << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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