建设集团有限公司网站,如何用ai给网站做logo,广州建筑集团官网首页,网易企业邮箱注册流程【题目描述】 设有n#xfffd;种物品#xff0c;每种物品有一个重量及一个价值。但每种物品的数量是无限的#xff0c;同时有一个背包#xff0c;最大载重量为M#xfffd;#xff0c;今从n#xfffd;种物品中选取若干件(同一种物品可以多次选取)#xff0c;使其重量…【题目描述】 设有n种物品每种物品有一个重量及一个价值。但每种物品的数量是无限的同时有一个背包最大载重量为M今从n种物品中选取若干件(同一种物品可以多次选取)使其重量的和小于等于M而价值的和为最大。 【输入】 第一行:两个整数M(背包容量M≤200≤200)和N(物品数量N≤30≤30);第22..N11行:每行二个整数Wi,Ci表示每个物品的重量和价值。 【输出】 仅一行一个数表示最大总价值。 【输入样例】
10 4
2 1
3 3
4 5
7 9
【输出样例】
max12
#includebits/stdc.h
using namespace std;
int W,n;
int w[35],v[35];
int dp[205];
int main()
{cinWn;int i,j,k;for(i1;in;i){cinw[i]v[i];}for(i1;in;i){for(jW;jw[i];j--){for(k1;kj/w[i];k){dp[j]max(dp[j],dp[j-k*w[i]]k*v[i]);}}}coutmaxdp[W];return 0;
}