深圳市住房和城乡建设局网站首页,设备租赁网站建设,营销型网站建设软件,深圳网页制作服务商苹果 时间限制#xff1a;3000 ms | 内存限制#xff1a;65535 KB难度#xff1a;3描述ctest有n个苹果#xff0c;要将它放入容量为v的背包。给出第i个苹果的大小和价钱#xff0c;求出能放入背包的苹果的总价钱最大值。 输入有多组测试数据#xff0c;每组测试数据第一… 苹果 时间限制3000 ms | 内存限制65535 KB 难度3 描述 ctest有n个苹果要将它放入容量为v的背包。给出第i个苹果的大小和价钱求出能放入背包的苹果的总价钱最大值。 输入有多组测试数据每组测试数据第一行为2个正整数分别代表苹果的个数n和背包的容量vn、v同时为0时结束测试此时不输出。接下来的n行每行2个正整数用空格隔开分别代表苹果的大小c和价钱w。所有输入数字的范围大于等于0小于等于1000。输出对每组测试数据输出一个整数代表能放入背包的苹果的总价值。样例输入 3 3
1 1
2 1
3 1
0 0 样例输出 2 1 2 #includeiostream3 using namespace std;4 #includealgorithm5 int c[1010],w[1010];//c大小w价钱6 int f[1010][1010];7 int main()8 {9 int n,v,i,j;//n:苹果个数v背包容量
10 while(cinnv,n||v)
11 {
12 for(i1;in;i)
13 cinc[i]w[i];
14 for(i1;in;i)
15 for(j0;jv;j)
16 {
17 f[i][j]f[i-1][j];
18 if(jc[i])
19 f[i][j]max(f[i-1][j],f[i-1][j-c[i]]w[i]);
20 }
21 coutf[n][v]endl;
22 }
23 return 0;
24 }
25 1 #includeiostream2 #includestring.h3 using namespace std;4 int f[1010];5 int main()6 {7 int n,v,i,j,c,w;//n:苹果个数v背包容量 c大小w价钱8 while(cinnv,n||v)9 {
10 int f[1010];
11 memset(f,0,sizeof(f));
12 for(i1;in;i)
13 {
14 cincw;
15 for(jv;jc;j--)
16 {
17 if(f[j]f[j-c]w)
18 f[j]f[j-c]w;
19 }
20 }
21 coutf[v]endl;
22 }
23 return 0;
24 } 转载于:https://www.cnblogs.com/ljwTiey/p/4330700.html