qq_39423172 2021-07-04 10:00 采纳率: 66.7%
浏览 50
已结题

动态规划求解!!!!!!!

求大神解答!
题目:
设有N 个正整数(1<=N<=1000),其中每一个均是大于等子1 小于等于10000的数。从这N个数中任取出若干个数(不能连续取相邻3个数)要求得到一种取法,使得到的和为最大。
如:当N=6时,有6个数分别为:15,18 28 14 5 11 2133
此时,有许多种取法,如:
15, 18,45,33
18. 28 21 33
15. 28 45 33
和为121就是满足要求的一种取法,
输入数据的第一行是一个整数N
第二行有N个符合条件的整数,数与数之间的间隔是用一个空格分开。
输出数据仅有一行包含一个整数,即为满足条件的最大和。
输入:
6
15 18 28 45 21 33
输出:
121

  • 写回答

1条回答 默认 最新

  • lyh不会打代码 2023-01-19 12:55
    关注
    
    #include<bits/stdc++.h>
    using namespace std;
    
    int n;
    long long f[1000];
    int main(){
        cin>>n;
        f[1]=2;
        f[2]=3;
        
        for(int i=3;i<=n;i++)
        f[i]=f[i-1]+f[i-2];
        cout<<f[n]<<endl;
        
        return 0;
    }
    
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 专家已采纳回答 8月22日