求大神解答!
题目:
设有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
动态规划求解!!!!!!!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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; }本回答被专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报