#P1010. STAMPS
STAMPS
本题没有可用的提交语言。
UVA648 Stamps (II)
题目描述
最近你有做过集邮吗? 你被鲁里塔尼亚邮政服务(RPS)聘用,负责设计他们的新邮票软件。该软件根据客户需求和当前库存的面值为客户分配邮票。
鲁里塔尼亚有很多与集邮者通信的人。为了服务这些人,鲁里塔尼亚邮政服务(RPS)要求所有邮票分配中包含尽可能多的不同类型的邮票。事实上,RPS 曾经发行过多张相同面值的邮票以满足客户的需求(这些邮票被视为不同类型,即使它们的面值相同)。在任何时候,发行的不同类型邮票的最大数量为二十五种。
为了节省成本,RPS 希望在尽量多发行不同类型的邮票的前提下,尽量减少重复邮票的发行。此外,RPS 不会一次出售超过四张邮票。
输入格式
你程序的输入将是成对的正整数序列,包含两行,交替出现直到文件结束。第一序列是可用邮票的面值,第二序列是客户的请求。
注意:示例输入中的注释不是数据文件的一部分;数据文件仅包含整数。
输出格式
对于每个客户,你应该打印“最佳”组合,该组合正好等于客户的需求,最多可以有四张邮票。如果没有这样的组合,打印“none”。“最佳”组合被定义为不同邮票类型的最大数量。在出现平局的情况下,邮票总数最少的组合视为最佳。如果仍然平局,单值邮票最高的组合视为最佳。如果仍然平局,则打印“tie”。
输入输出样例 #1
输入 #1
1 2 3 0
7 4 0
1 1 0
6 2 3 0
; three different stamp types
; two customers
; a new set of stamps (two of the same type)
; three customers
输出 #1
7 (3): 1 1 2 3
4 (2): 1 3
6 ---- none
2 (2): 1 1
3 (2): tie