码迷,mamicode.com
首页 > 其他好文 > 详细

药房管理

时间:2018-05-11 23:33:38      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:main   int   for   不同   col   顺序   ble   mil   math   

23:药房管理

总时间限制:
1000ms
内存限制:
65536kB
描述

   随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。     对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。

输入
共3行 第一行是每天开始时的药品总量m 第二行是这一天取药的人数n(0 < n <= 100) 第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔
输出
只有1行,为这一天没有取上药品的人数。
样例输入
30
6
10 5 20 6 7 8
样例输出
2

以下为错误代码
 1 #include<cstdio>
 2 #include<cmath>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int cmp(int x,int b)
 7 {
 8     return x < b;
 9 }
10 int main()
11 {
12     int a[105],i,j,m,n;
13     scanf("%d %d",&n,&m);
14     for(i = 1;i <= m;i++)
15     {
16         scanf("%d",&a[i]);
17     }
18     sort(a+1,a+1+m,cmp);
19     for(i = 1;i <= m;i++)
20     {
21         n = n - a[i];
22         if(n < 0)
23         {
24             printf("%d",m - i + 1);
25             break;
26         }
27         if(i == m)
28         printf("0");
29     }
30     return 0;
31 }

直接把他排序了没注意到题里面的按时间顺序

以下为正确代码

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int main()
 7 {
 8     int a[105],i,j,m,n,ans = 0;
 9     scanf("%d %d",&n,&m);
10     for(i = 1;i <= m;i++)
11     {
12         scanf("%d",&a[i]);
13     }
14     for(i = 1;i <= m;i++)
15     {
16         n = n - a[i];
17         if(n < 0)
18         {
19             n = n + a[i];
20             ans = ans + 1;
21         }
22     }
23     printf("%d",ans);
24     return 0;
25 }

 

 

药房管理

标签:main   int   for   不同   col   顺序   ble   mil   math   

原文地址:https://www.cnblogs.com/rax-/p/9026400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!