题面
假如你是一个小偷,要去zzl会长家里偷东西。
因为轻装上阵,所以你只能背一个容量为V的书包,同时考虑到你的身体素质,书包的重量不能超过U。
会长家里有n种物品,每件物品都有一个体积vi,重量ui以及价值wi。
同时他们以不同的数量(可能是1,可能是mi,可能是无限),分散在会长家不同的k个房间里(假定每种物品都在某一个房间),为了不被会长发现,你在每个房间都不能偷超过ki种物品。
同时,如果你想偷会长的钱,你就必须先连他的钱包一起偷走,好让他不知道自己被偷了,而是以为是自己忘记了自己把钱包放在哪里,即偷某些物品i时必须先偷j。
现在求你能在会长家里偷到的最大价值,求偷盗方案。
输入格式:
输入第一行给出三个整数n,V,U,k。n<50。
接下里n行每行给出6个数字,用vi,ui,wi,mi,ki,ij。
在接下来一行k个数字,表示表示第i个房间最多偷几件。
输出格式:
第一行两个整数n,w,表示偷n种物品,最多获得w。
接下来n行每行两个整数,分别表示第i种物品偷几件。
题解:
分组依赖二维多重四合一