在这里插入代码片
#include
#include //可以重复使用
using namespace std;
int a[1000];
int s(int weigh,int n)
{
if(weigh==0) return 1; //背包重量为零或者全部物品刚好等于重量
if(weigh<0||n<0) return 0;//背包重量太大或者太小
if(s(weigh-a[n],n-1)==1) return 1;//一件物品的数量就满足背包
return s(weigh,n-1); //继续递归
}
int main()
{
int weigh,n;
cin>>weigh;
cin>>n;
int stu[n];
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);//快速排序
if(s(weigh,n-1)==1) cout<<“yes!”;
else cout<<“no!”;
return 0;
}