HDU 2021 发工资咯:)
来源:互联网 发布:往string数组添加元素 编辑:程序博客网 时间:2024/04/30 11:54
发工资咯:)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61417 Accepted Submission(s): 33135
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 5 2 1,这几个数字。最后加一起他们的余数。我放代码,我感觉自己说的有点乱,。我的代码一般比较清晰,虽然冗长。
#include"cstdio"#include"cstring"#include"cmath"#include"algorithm"using namespace std; bool cmp(int a,int b){ return a<b;}int main (){ int i, l, m, j, k, n, t; int a[105]; while(1) { scanf("%d",&n); if(n==0) return 0; for(i=0;i<n;i++) { scanf("%d",&a[i]); } int sum=0; for(i=0;i<n;i++) { sum=sum+a[i]/100+a[i]%100/50+a[i]%100%50/10+a[i]%100%50%10/5+a[i]%100%50%10%5/2+a[i]%100%50%10%5%2/1; } printf("%d\n",sum); } return 0;}
有一行比较长,网上有人可以写短点。但我还是喜欢长一点。思路看起来清晰。
我都是按顺序写刷网站上的题,本来想着,每天写三道,但是有时候题非常简单,我就自动认为不算数。新的计数方式是这样,每天每个网站上刷题,一直刷到我认为哪个题可以写成一篇博客了,就停下。
今晚上NYoj和HDU的任务都完成了,接下来看看51Nod的,希望能早点睡。
- HDU 2021 发工资咯:)
- hdu-2021-发工资咯:)
- HDU 2021 发工资咯:).
- HDU 2021 发工资咯:)
- hdu 2021 发工资咯:)
- hdu 2021 发工资咯:)
- HDU 2021--发工资咯:)【贪心】
- HDU 2021 发工资咯:)
- hdu 2021 发工资咯:)
- hdu 2021 发工资咯:)
- HDU 2021 发工资咯:)
- hdu 2021 发工资咯:)
- HDU 2021 发工资咯:)
- hdu 2021 发工资咯:)贪心
- HDU 2021 发工资咯(water)
- 【水题】HDU 2021 发工资咯:)
- HDU-2021(发工资咯:))
- HDU:2021 发工资咯:)
- BN层计算的为什么不是协方差矩阵的理解
- Codeforces Round #413 Div. 2 D. Field expansion
- 445端口入侵详解
- 初识.net界面程序(7)——泛型和LINQ练习
- 蓝桥杯:神奇算式
- HDU 2021 发工资咯:)
- 比特币病毒是什么?
- 445端口入侵详解
- BP神经网络
- react 通知
- MySQL11-MyISAM和InnoDB存储引擎区别
- Mysql 5.7.18
- 16.各种类及接口
- F