关注
#include <iostream>
using namespace std;
void get(int *a, int N,int i, int M, int j, int T, int k, int num, int& max){
//存在第j个背包
if(j<=M && i<=N){
//取第i个物品
if(a[i-1] <= k){
//第j个背包放得下物品i
if(max < (num+1)) max = num+1;
get(a,N,i+1,M,j,T,k-a[i-1],num+1,max);
}
else{
//第j个背包放不下物品i,所以决定扔掉第j个背包
get(a,N,i,M,j+1,T,T,num,max);
}
//不取第i个物品
get(a,N,i+1,M,j,T,k,num,max);
}
}
int main(){
int N,T,M;
int max;
while(cin>>N>>T>>M){
if((N>=1&&N<=20)&&(T>=1&&T<=20)&&(M>=1&&M<=20)){
int *a = new int[N];
for(int i=0;i<N;i++)
cin>>a[i];
max = 0;
get(a,N,1,M,1,T,T,0,max);
cout<<max<<endl;
delete []a;
}
}
return 0;
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
978656次浏览 4912人参与
# 你上一次给父母打电话是什么时候 #
44799次浏览 274人参与
# 27届实习投递记录 #
151526次浏览 1579人参与
# 父母对你找工作是助力还是阻力? #
49141次浏览 416人参与
# 多益网络工作体验 #
73986次浏览 316人参与
# 找工作时的取与舍 #
138981次浏览 925人参与
# 多益网络求职进展汇总 #
108872次浏览 409人参与
# 实习,不懂就问 #
221673次浏览 1723人参与
# 一起聊华为 #
221533次浏览 972人参与
# 薪资一样,你会选择去大厂还是小公司 #
35576次浏览 133人参与
# 实习的内耗时刻 #
242856次浏览 1670人参与
# 发工资后,你做的第一件事是什么 #
107784次浏览 348人参与
# 求职中的尴尬瞬间 #
42406次浏览 125人参与
# 新凯来求职进展汇总 #
82933次浏览 195人参与
# 牛友投递互助,不漏校招机会 #
495577次浏览 5371人参与
# 非技术2024笔面经 #
515139次浏览 5058人参与
# 社会教会你的第一课 #
134477次浏览 874人参与
# 牛友们,签完三方你在忙什么? #
153864次浏览 1026人参与
# 你找工作的时候用AI吗? #
215068次浏览 1032人参与
# 听劝,这个简历怎么改 #
423297次浏览 1901人参与
