/*动态规划的题目:给定不同会议的时间及其价值(会议时间会有重叠,已按结束时间升序排序),选定总价值之和最高的会议,且同一时间只能进行一场会议;递归实现*/
#include <iostream>
#include <algorithm>
using namespace std;
int arr[]={3,34,4,12,5,2};
bool rec_subset(int i,int s)
{
if(s == 0)
return true;
else if(i == 0)
return arr[0] == s;
else
return rec_subset(i-1,s - arr[i]) || rec_subset(i-1,s);
}
int main()
{
cout << rec_subset(6,12) << endl;
return 0;
}