4、最大购物优惠Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
小惠听说超市正在打折促销,要制订一个得到最大优惠的购物计划。Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
小惠的体力可以提起 w 单位重量的东西,还有一个能装V个单位体积的购物袋,并详细了解了各打折商品的重量、体积及此商品实际优惠的金额。她想在自己体力的限度和购物袋容积限度内,尽可能多地得到购物优惠。Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
超市规定这些打折商品每种只能购买一件。Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
编程实现:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
请你编写程序,制定一个购买商品的计划,求出小惠能得到的最大优惠金额和实际应购买的各商品序号。Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行:依次为w、v和n(n为商品种类数),所有数值均为不超过100的正整数Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
接下来的 n 行:每行有三个整数,依次为某种商品的重量、体积和让利金额,数值间以空格分开,所有数值均为不超过100的正整数Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行:小惠能够得到的最大让利金额Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二行:依次为从小到大排列的商品序号,序号从1开始,序号间用空格分开。若第二行输出的序列不唯一,则输出其最小字典序。Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输入:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
10 9 4
8 3 6
5 4 5
3 7 7
4 5 4
样例输出:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
9
2 4
样例数据分析:Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行数据1094代表最多能提起重量10购物袋体积9,4种商品Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二行数据代表第1件商品重量8体积3,让利金额4Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第三行数据代表第2件商品重量5,体积4,让利金额5Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第四行数据代表第3件商品重量3,体积7,让利金额7Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第五行数据代表第4件商品重量4体积5让利金额4Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
创建一个三维数组 yh[n+1][w+1][v+1] 记录在第n个物品,w重量,v体积时 最优策略2Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
只考虑一个物品的时候(纵向代表重量,横向代表体积,数据代表最大优惠)Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
考虑前两个物品的时候Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
考虑前三个物品的时候Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
考虑前四个物品的时候Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
最终结果,最大优惠为9.同时需要额外记录在在不同商品数量,不同重量和体积的情况下,如何购买商品Ddo100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库