最开始的代码:
#include<iostream>
#include<cstring>
using namespace std;
int r,c,bestw,n,i,cw=0;
int w[100];
void BackTrack(int i){
if(i>n) {//说明遍历完成
if(cw>bestw) bestw=cw;
return;
}
else{
if(cw+w[i]<=c){//x[i]=1
cw+=w[i];
BackTrack(i+1);
cw-=w[i];
}
BackTrack(i+1); //x[i]=0
}
}
int main(void)
{
cin>>c;//输入背包容量
cin>>n;//输入数量
for(i=1;i<=n;i++) cin>>w[i];
BackTrack(1);
cout<<bestw<<endl;
}