硬幣問題(貪心)

2021-07-06 00:13:42 字數 536 閱讀 9231

有1元,5元,10元,50元,100元,500元的硬幣各a1,a5,a10,a50,a100,a500枚,現在要用這些硬幣支付money元,最少需要支付多少硬幣?假定本題至少一種支付方案。

分析:要使數量最少,所以要先從面值大的開始選擇,依次往下類推,即可得到最佳答案。

優先選擇面值大的。

#include

#include

#include

#include

#include

#define l(i,n,m) for(int i = n;i >= 0;i --)

#define m(i,n,m) for(int i = n;i < m;i ++)

#define n(n,m) memset(n,m,sizeof(n));

const int v[6] = ;   ///面值

using namespace std;

int main()

printf("%d\n",sum);     ///輸出

}return 0;

}

硬幣問題(二) 貪心

一 問題描述 有1元 5元 10元 50元 100元 500元的硬幣各c1 c5 c10 c50 c100 c500枚。現要用這些硬幣來支付a元,最少需要多少枚硬幣?假設本題最少存在一種支付方案。0 c1 c5 c10 c50 c100 c500 109,0 a 109 二 問題分析 之前有一道類似...

翻硬幣(貪心)

歷屆試題 翻硬幣 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 ...

翻硬幣 貪心

問題描述 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬...