神秘的な村Coinholtで、パン屋のカウンターの内側に立ち、焼きたての菓子を並べています。 扉がきしみながら開き、Denaraが入ってきます。彼女は目利きの商人で、良い品を見極める鋭い目を持っています。 軽い食事をすませると、彼女はきらめく硬貨をカウンター越しにすべらせます。その硬貨は100単位の価値を表しています。
微笑んで硬貨を受け取り、食事の合計金額に目をやります。88単位です。 つまり、お釣りとして12単位を返す必要があります。
Denaraは期待に満ちた様子で手を差し出します。 「硬貨は一番少ない枚数でいいからね」と、彼女は微笑みながら言います。 「巾着はもういっぱいだし、道中でなくしたくないの。」
いくつか選択肢があることはわかっています。 「お釣りにはLumis(10単位)、Viras(5単位)、Zenth(2単位)があります。」
頭の中で、あっという間に組み合わせを計算します。
「一番いいのは、Lumis1枚とZenth1枚の2枚ですね」と言い、お釣りを手渡します。
Denaraは微笑み、すっかり感心した様子です。 「いつもながら、間違いないわね。」
硬貨の額の合計がお釣りの正しい金額と等しくなるように、お客さんに渡す硬貨の枚数が最も少なくなる組み合わせを求めます。
| Register | Usage | Type | Description |
|---|---|---|---|
$a0 |
入力 | 整数 | 入力するコインの枚数 |
$a1 |
入力 | 整数 | 目標金額 |
$a2 |
入出力 | アドレス | 上書き可能な、コインを表すワードの配列 |
$v0 |
出力 | 整数 | 出力するコインの枚数。入力が無効な場合は-1 |
$t0-9 |
一時 | 任意 | 一時的な保存に使います |