UVA233 Package Pricing

题目描述

给出若干种灯泡购买套餐。 给出一些顾客,他们需要购买一定数目和种类的灯泡。 请设计程序求解各个客户的最小花费。所买灯泡可以超出客户的需求,但不可以少于需求。

输入格式

输入包括两个部分。 第一部分描述了各个套餐的信息,第二部分描述了各个客户的需求。 第一部分的第一行是一个整数$n$,代表套餐的数目。$1 \leq n \leq 50$ 接下来的$n$行,每一行描述一个套餐的信息。先是一个正整数,代表套餐的代号。然后是一个实数,代表套餐的价格。接着是若干个灯泡的信息,每个信息由灯泡的尺寸和数目组成,尺寸有且只有$'a'、'b'、'c'、'd'$四种。保证每个套餐中,不会重复给出同一尺寸灯泡的信息。 接下来是一个整数$m$,代表顾客的数目 接下来的$m$行,每行代表一个客户的若干个需求,每个需求由灯泡的尺寸和数目组成。各个需求的灯泡尺寸可能重复,某种灯泡的实际需求数目应该累加得到。

输出格式

共有$m$行,表示各个客户的最佳购买方案。 每个方案的格式如下:首先是客户的序号,其后接着冒号,再接着该客户的最小花费,再一个空格,后面接上该客户购买的套餐信息。各套餐信息按照套餐代号升序排列。若同一种套餐买了多个,则在该套餐代号后加上括号,括号内注明购买数目。各个套餐间用空格间隔。