1. 程式人生 > >(簡單貪心) 發工資咯:) hdu2021

(簡單貪心) 發工資咯:) hdu2021

數據包 測試 using 代碼 output mis clu clas iostream

發工資咯:)

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 86458 Accepted Submission(s): 45902


Problem Description 作為杭電的老師,最盼望的日子就是每月的8號了,因為這一天是發工資的日子,養家糊口就靠它了,呵呵
但是對於學校財務處的工作人員來說,這一天則是很忙碌的一天,財務處的小胡老師最近就在考慮一個問題:如果每個老師的工資額都知道,最少需要準備多少張人民幣,才能在給每位老師發工資的時候都不用老師找零呢?
這裏假設老師的工資都是正整數,單位元,人民幣一共有100元、50元、10元、5元、2元和1元六種。

Input 輸入數據包含多個測試實例,每個測試實例的第一行是一個整數n(n<100),表示老師的人數,然後是n個老師的工資。
n=0表示輸入的結束,不做處理。

Output 對於每個測試實例輸出一個整數x,表示至少需要準備的人民幣張數。每個輸出占一行。

Sample Input 3 1 2 3 0

Sample Output 4 C++代碼: 貪心算法,先計算100有多少個,在計算50,然後10.....最後統計就行。
#include<iostream>
using
namespace std; int main(){ int m; int a[110]; while(cin>>m){ if(m==0){ break; } int sum = 0; while(m--){ int a; scanf("%d",&a); sum = sum + a/100; a %= 100; sum += a/50; a
%= 50; sum += a/10; a %= 10; sum += a/5; a %= 5; sum += a/2; a %= 2; sum += a/1; a %= 1; } printf("%d\n",sum); } return 0; }

(簡單貪心) 發工資咯:) hdu2021