切換
舊版
前往
大廳
主題

ZeroJudge - d234: IOI研習營模考1-1新錢錢 解題心得

Not In My Back Yard | 2019-03-14 23:27:04 | 巴幣 0 | 人氣 322

題目連結:


題目大意:
給定三正整數 a 、 b 、 c (1 ≦ a 、 b 、 c ≦ 10, 000),代表有兩種貨幣面額為 a 、 b 。

求是否可以只用若干數量的面額 a 、 b 之貨幣便組成 c 元以上(含)的任意金額。



範例輸入:
3 3 3
1 3 3
1 4 3
4 5 9


範例輸出:
No
Yes
Yes
No


解題思維:
首先,我們可以先觀察出:如果 c ~ 2c - 1 的金額皆可以用 a 、 b 組成,則可以推出 c 元以上皆可以被 a 、 b 所組成。

因為如果 c 可以被組成,則 2c 就只是兩倍的 c 之貨幣數;如果 c + 1 也可以被組成,則 2c + 1 為 c + 1 的湊法加上 c 的湊法……以此類推。

接著就是利用動態規劃的概念去試試看湊出 1 ~ 2c - 1 的金額,詳細方法參見以前的文章。然後檢查 c ~ 2c - 1 是否皆可以被湊出來。如果可以,即輸出「Yes」;否則,輸出「No」。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

Ti_Mo
想問有點看不懂題目
為什麼測資1
3 3 3 是 no??
2022-07-17 16:14:09
Not In My Back Yard
因為你不管用多少個 3 元的銅板都無法把 7 元湊出來,所以我們沒辦法只用 3 元銅板就湊出 3 元以上(含)的任意金額。

同理,4 元和 5 元銅板不管用多少個就是湊不出 11 元,因此也沒辦法只用這兩種銅板就湊出 9 元以上(含)的任意金額。
2022-07-17 18:03:03
Not In My Back Yard
稍微改了一下題目敘述,希望有比較好懂。
2022-07-17 18:04:26
Ti_Mo
哦哦,懂了,謝謝你~~
2022-07-17 19:42:49

更多創作