#P1787. Charlie's Change

Charlie's Change

描述

Charlie是Advanced Cargo Movement有限公司的一名司机。Charlie经常开车,因此他经常在汽车旅馆的咖啡自动售货机上购买咖啡。Charlie讨厌找零。这基本上就是你下一个任务的背景设定。

你的程序将获得Charlie拥有的硬币数量和种类以及咖啡的价格。咖啡自动售货机接受面值为1美分(cent)、5美分(nickel)、10美分(dime)和25美分(quarter)的硬币。程序应输出Charlie购买咖啡时需要使用的硬币,以便他尽可能多地使用硬币。因为Charlie真的不想找回任何零钱,所以他希望恰好支付咖啡的价格。

输入

输入的每一行包含五个用空格分隔的整数,描述一个需要解决的情况。第一个整数PP1P10,0001 \leq P \leq 10,000)表示咖啡的价格(以美分为单位)。接下来的四个整数C1C1C2C2C3C3C4C40Ci10,0000 \leq Ci \leq 10,000)分别表示Charlie钱包中1美分(cent)、5美分(nickel)、10美分(dime)和25美分(quarter)的数量。输入的最后一行包含五个零,程序不应为此行生成任何输出。

输出

对于每种情况,如果你的程序找到解决方案,应输出一行字符串“Throw in T1T1 cents, T2T2 nickels, T3T3 dimes, and T4T4 quarters.”,其中T1T1T2T2T3T3T4T4是Charlie应使用的相应面值硬币的数量,以便尽可能多地使用硬币。如果Charlie没有足够的零钱恰好支付咖啡的价格,你的程序应输出“Charlie cannot buy coffee.”。

输入数据 1

12 5 3 1 2
16 0 0 0 1
0 0 0 0 0

输出数据 1

Throw in 2 cents, 2 nickels, 0 dimes, and 0 quarters.
Charlie cannot buy coffee.

来源

CTU Open 2003