近期crq老师为了提高各个学生对ACM的兴趣,在TOJ上增加了积分制度和礼品兑换功能, TOJ的积分是来之不易的,固然同学们都想用同一积分换取最大价值的礼品,某同学用了M的积分换取了一些礼品。 请问:他用M的积分最多能换取多少价值的礼品呢? (积分M一定要使用完)
输入
输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数M和N(1<=M<=1000,1<=N<=100),分别表示换取的总积分和礼品的种类,然后是N行数据,每行包含3个数p,h和c(1<=p<=100,0<=h<=200,1<=c<=1000),分别表示每种礼品的价格、对应种类礼品的剩余数目以及每类礼品的消耗的积分。
输出
对于每组测试数据,如果M能使用完请输出"The maximum value is X." ,否则输出"This is impossible.".你可以假设同一类物品能多次换取。每个实例的输出占一行。
样例输入
3
700 3
10 2 100
65 5 500
24 10 200
273 4
57 190 53
51 66 383
92 65 91
61 126 364
273 2
57 190 53
61 126 364
样例输出
The maximum value is 89.
The maximum value is 276.
This is impossible.
解题思路:多重背包恰好装满
原文地址:https://www.cnblogs.com/qq-1585047819/p/10888528.html
时间: 2024-12-10 13:38:26