54-小明的存钱计划

内存限制:64MB 时间限制:3000ms Special Judge: No
accepted:5 submit:11

题目描述:

小明的零花钱一直都是自己管理。每个月的月初妈妈给小明300元钱,小明会预算这个月的花销,并且总能做到实际花销和预算的相同。
为了让小明学习如何储蓄,妈妈提出,小明可以随时把整百的钱存在她那里,到了年末她会加上20%还给小明。因此小明制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果他预计到这个月的月末手中还会有多于100元或恰好100元,他就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。
例如11月初小明手中还有83元,妈妈给了小明300元。小明预计11月的花销是180元,那么他就会在妈妈那里存200元,自己留下183元。到了11月月末,小明手中会剩下3元钱。
小明发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,小明手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,小明将不得不在这个月省吃俭用,压缩预算。
现在请你根据2010年1月到12月每个月小明的预算,判断会不会出现这种情况。如果不会,计算到2010年年末,妈妈将小明平常存的钱加上20%还给小明之后,小明手中会有多少钱。

输入描述:

第一行输入一个整数N,表示测试数据的组数(N<=10)
每组测试数据输入12行数据,每行包含一个小于350的非负整数,分别表示1月到12月小明的预算。

输出描述:

每组输出包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2010年年末小明手中会有多少钱(如果是小数,请四舍五入到整数位)。

样例输入:

复制

1
290
230
280
200
300
170
340
50
90
80
200
60

样例输出:

-7

分析:  1、就算是第12月,只要剩的钱大于100,都可以将大于100的整数拿去存  2、第12月剩下来的零钱也要加入到最终的剩余钱中  3、总钱 = (1-12个月存的整钱总数)* 1.2 + 第12月剩下来的零钱

核心代码:
 1 for(int i = 1; i <= 12; ++ i)
 2 {
 3     scanf("%d",&a);
 4     if(flag) continue;
 5     int temp = cnt + 300 - a;
 6     if(temp < 0)
 7     {
 8         flag = i;
 9         continue;
10     }
11     ans += (temp / 100) * 100;
12     cnt = temp % 100;
13 }
14 ans = ans * 1.2 + cnt;

C/C++代码实现(AC):
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7 #include <map>
 8 #include <queue>
 9 #include <set>
10
11 using namespace std;
12 const int MAXN = 15;
13 int A[MAXN];
14
15 int main()
16 {
17
18     int t;
19     scanf("%d", &t);
20     while(t --)
21     {
22         int a, flag = 0, cnt = 0, ans = 0;
23         for(int i = 1; i <= 12; ++ i)
24         {
25             scanf("%d", &a);
26             if(flag) continue;
27
28             int temp = cnt + 300 - a;
29             if (temp < 0)
30             {
31                 flag = i;
32                 continue;
33             }
34             ans += 100 * (temp / 100);
35             cnt = temp % 100;
36         }
37         ans = ans * 1.2 + cnt;
38         if(flag)
39             printf("-%d\n", flag);
40         else
41             printf("%d\n", ans);
42     }
43     return 0;
44 }

nyoj 54-小明的存钱计划 (遍历 + 判断)相关推荐

  1. NYOJ 240 小明的调查统计(二)

    小明的调查统计(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 最近小明他们社团对理工全校每个班级进行了一次社会调查,他们对每同学的数学成绩进行了统计.小明的任务是 ...

  2. NYOJ 676 小明的求助

    小明的求助 时间限制:2000 ms  |  内存限制:65535 KB 难度:2 描述 小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他,因为这是so easy ...

  3. C++代码:小明存钱

    题目: 题目描述 小明要存钱过年买东西,现在已知他已经存了n个月,还有每个月存了多少钱.小明想知道一共存了多少钱. 输入 第一行,一个数n表示存钱的月数. 第二行,n个数分别表示每个月的存钱数,数中间 ...

  4. 假如小明今年第1季度的三个月中的营业额分别是{5,10,15},第二季度他计划要把第1季度中每个月的营业额都提升为2倍,请你帮小明同学计算出他第二季度的每个月营业额;

    1. 训练描述 假如小明今年第1季度的三个月中的营业额分别是{5,10,15},第二季度他计划要把第1季度中每个月的营业额都提升为2倍,请你帮小明同学计算出他第二季度的每个月营业额; 要求: 1.第二 ...

  5. nyoj 55 懒省事的小明

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆 ...

  6. NYOJ 49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  7. NYOJ 52 无聊的小明

    无聊的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突然对数的正整数次幂产生了兴 ...

  8. nyoj 55 懒省事的小明 优先队列 multiset 还有暴力

    懒省事的小明 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不 ...

  9. NYOJ 擅长排列的小明 II---Problem B

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5 ...

  10. nyoj 19 擅长排列的小明(深搜,next_permutation)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...

最新文章

  1. 破windows xp登陆密码
  2. ROS-3 : Catkin工作空间和ROS功能包
  3. 第一次接触正则表达式/^[A-Za-z_][A-Za-z0-9_]{5,15}$/
  4. SpringBoot—分层结构
  5. D3D API - D3DXCreateRenderToSurface渲染到纹理
  6. Python机器学习:决策树003使用信息熵寻找最优划分
  7. POJ-3061 Subsequence 二分或尺取
  8. 【待续】C#.Net 关键词清理 Fields Property Attribute Const三者之间的区别与联系
  9. ASP.net揭秘笔记
  10. 算法学习:01背包问题求具体方案
  11. win10开启虚拟化服务器,win10怎么开启virtualization technology虚拟化技术
  12. FIFO读写时序理解——almost_empty、almost_full
  13. 谈谈在ISA防火墙中的端口映射方法
  14. 阿里云DRDS分布式数据库 - 分库分表
  15. 吴军博士系列书籍读后感(《数学之美》、《浪潮之巅》、《文明之光》、《智能时代》)
  16. opencv 鼠标绘图
  17. 应聘经验——百田公司面试题记忆
  18. 西班牙语c1申请语言学校,西班牙留学需不需要西班牙语成绩?语言要求是什么?...
  19. DBA的工作职责和每日工作
  20. Python小游戏-坦克大战(tank war)

热门文章

  1. 数字电路34( 计数器—二进制加计数器)
  2. Linux 音频驱动(六) ALSA音频驱动之PCM Write数据传递过程
  3. 计划排产软件助力厨房电器业提升管理
  4. 0x00F749F6 处(位于 基于多态实现职工管理系统.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。
  5. 麒麟linux硬盘安装,U盘安装中标麒麟Linux桌面版的方法
  6. 【NOIP2017】滚粗记
  7. IOI2021集训队作业
  8. gb2312 转 unicode 转 utf-8
  9. SQL Server配置管理器没有任何项目
  10. win7设置定时开关机