洛谷 1658 購物

2022-03-06 23:18:43 字數 1043 閱讀 4274

洛谷 1658 購物

你就要去購物了,現在你手上有n種不同面值的硬幣,每種硬幣有無限多個。為了方便購物,你希望帶盡量少的硬幣,但要能組合出1到x之間的任意值。

輸入格式:

第一行兩個數x、n,以下n個數,表示每種硬幣的面值。

【資料規模】

對於30%的資料,滿足n≤3,x≤20;

對於100%的資料,滿足n≤10,x≤1000.

輸出格式:

最少需要攜帶的硬幣個數,如果無解輸出-1.

輸入樣例#1:

20 4

1 2 5 10

輸出樣例#1:

5

題解:這道題我記得我們之前考過,當時傻,所以並不會。就騙了三十分,hhh。

當時是我們區學長出的題,其實我們區除了hmq之外的學長都是挺有人性的。

這道題主要是用到了貪心的思想,

每一次都要在找到比當前該湊數錢小的最大面值數,這樣就可以在錢幣數量相同的情況下可拼湊價值最大。

**:

1 #include2 #include3 #include4

const

int maxn=1005;5

inti,j,n,x,s[maxn],ans,sum;

6int

main()

13while(sum

18 printf("

%d\n

",ans);

19return0;

20 }

view code

洛谷 P1658 購物 貪心

為了湊出 1 x 的所有硬幣 假設當前已經湊出了1 m 的所有面值的硬幣,那麼為了湊出更大面值的硬幣,應該如何選擇呢?有這些情況 1 選面值 t 屬於 1 m 的硬幣 這當然可以,但是想一想,有沒有更好的選擇呢?我們選擇乙個面值為 t 的硬幣,那麼,我們下一次能夠湊出的面值為 1 m t 為了符合題...

P1658 購物 貪心

你就要去購物了,現在你手上有n種不同面值的硬幣,每種硬幣有無限多個。為了方便購物,你希望帶盡量少的硬幣,但要能組合出1到x之間的任意值。輸入格式 第一行兩個數x n,以下n個數,表示每種硬幣的面值。資料規模 對於30 的資料,滿足n 3,x 20 對於100 的資料,滿足n 10,x 1000.輸出...

洛谷P1450 HAOI2008 硬幣購物

硬幣購物一共有4種硬幣。面值分別為c1,c2,c3,c4。某人去商店買東西,去了tot次。每次帶di枚ci硬幣,買si的價值的東西。請問每次有多少種付款方法。輸入格式 第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s 輸出格式 每次的方法數 輸入樣例 1 1 2 5 ...