// 要求,不能同时选择相邻的两个数;找出最大的总和;
#include <iostream>
#include <algorithm>
using namespace std;
int arr[]={1,2,4,1,7,8,3};
int rec_opt(int i)
{
if(i == 0) return arr[0];
else if(i == 1) return max(arr[1],arr[0]);
else return max(rec_opt(i-1),rec_opt(i-2)+arr[i]);
}
int main()
{
cout << rec_opt(6) << endl;
return 0;
}
动态规划-找出最大和
最新推荐文章于 2022-02-25 22:48:49 发布