D e s c r i p t i o n \mathcal{Description} Description
农夫John想到镇上买些补给。为了高效地完成任务,他想使硬币的转手次数最少。即使他交付的硬 币数与找零得到的的硬币数最少。
John想要买价值为T的东西。有N(1<=n<=100)种货币参与流通,面值分别为V1,V2…Vn (1<=Vi<=120)。John有Ci个面值为Vi的硬币(0<=Ci<=10000)。
我们假设店主有无限多的硬币, 并总按最优方案找零。注意 无解输出-1.
S o l u t i o n \mathcal{Solution} Solution
最 初 想 法 最初想法 最初想法
一直想着贪心去凑… 无果.
正 解 部 分 正解部分 正解部分
假设最优方案 J o h n John John 的 支出 为 s u m sum sum, 则 找零 为 s u m − T sum-T sum−T,
则问题转化为:
- 使用 J o h n John John 现有的硬币凑出 s u m sum sum, 要求使用种类数尽量少.
- 使用任意数量的硬币凑出 s u m − T sum-T sum