#AG0511004. 分组背包
分组背包
题目描述
将 件物品放入一个容量为 的背包,其中第 件物品的体积为 ,价值为 ;同时,和01背包问题不同的是,本题中还有一个限制,就是每件物品都有一个分组,第 件物品属于第 个分组。同一个分组中最多只能选择一件物品放入背包中。
举个例子:如果有两件物品(设为物品 和 物品 )都属于同一个分组,则要么选择物品 ,要么选择物品 ,要么都不选择(即满足 “同一个分组中最多只能选择一件物品放入背包中” 的条件)
求:在满足上述条件且物品体积之和不超过背包容量 的情况下能够放入背包当中的物品价值之和的最大值。
输入格式
输入的第一行包含两个整数 和 ,以一个空格分隔,分别表示背包体积与物品数量。()
接下来 行,每行包含三个整数,两两之间以一个空格分隔,其中第 行包含的三个整数 分别表示第 件物品的体积、价值和分组。()
输出格式
输出一个整数,表示在满足分组条件限制且物品体积之和不超过背包容量 的情况下能够放入背包当中的物品价值之和的最大值。
样例
45 3
10 10 1
10 5 1
50 400 2
10