您有一套硬幣5¢,10¢,20¢,50¢,1 $,2 $和每個面額的數量有限。當您支付一定金額時,有兩種可能性:您支付正確的金額,或者您支付比所需更多的費用,並從店員那裏收到正確的更改。如何最小化改變手牌的硬幣數量(即最大限度地減少您輸入的硬幣數量加上您收到的硬幣數量)。假設金額始終是可支付的,而店員有無限數量的金幣,並且他總是選擇最有效的方式來回復變更。儘量減少換手的硬幣數量
我認爲,爲了儘量減少轉手的數量,你必須儘量減少你給的硬幣數量和你收到的硬幣數量。收到的硬幣數量可以使用通常的硬幣更換算法來最小化,但是我不知道如何最小化一組固定硬幣的變化。
對於全問題的說明:UVA Online Judge
這是一個有趣的練習,但是你有什麼問題?你有什麼嘗試?你卡在哪裏?你的代碼在哪裏? – John 2013-03-06 16:16:14
謝謝,我編輯了我的描述。 – 2013-03-06 16:23:24
對於這個特定的硬幣組,貪婪算法的作品(試圖證明這一點)。一般來說,它更復雜。 – us2012 2013-03-06 16:26:48