有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 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬...