1014. Waiting in Line (30) PAT 甲级
来源:互联网 发布:加工中心打孔编程g81 编辑:程序博客网 时间:2024/06/05 07:34
传送门
#include<stdio.h>#include<algorithm>#include<vector>using namespace std;#define MAX_N 110#define INF 1000000000struct Customer{ int arriveTime; int processingTime;}customer;int endTime[MAX_N];vector<Customer> c;int TimeToSecond(int h,int m,int s){ return h*3600+m*60+s;}bool cmp(struct Customer a,struct Customer b){ return a.arriveTime<b.arriveTime;}int main(){ int n,k,totaltime=0; int start=TimeToSecond(8,0,0); int stop=TimeToSecond(17,0,0); scanf("%d%d",&n,&k); for(int i=0;i<k;i++) endTime[i]=start; int h,m,s,processingTime; for(int i=0;i<n;i++){ scanf("%d:%d:%d %d",&h,&m,&s,&processingTime); int arriveTime=TimeToSecond(h,m,s); if(arriveTime>stop) continue; customer.arriveTime=arriveTime; if(processingTime>60) processingTime=60; customer.processingTime=processingTime*60; c.push_back(customer); } sort(c.begin(),c.end(),cmp); for(int i=0;i<c.size();i++){ int index=-1,minEndTime=INF; for(int j=0;j<k;j++){ if(endTime[j]<minEndTime){ minEndTime=endTime[j]; index=j; } } if(endTime[index]<c[i].arriveTime){ endTime[index]=c[i].arriveTime+c[i].processingTime; } else{ totaltime+=(endTime[index]-c[i].arriveTime); endTime[index]+=c[i].processingTime; } } if(c.size()==0) printf("0.0"); else printf("%.1f",totaltime/60.0/c.size());}
0 0
- 【PAT甲级】1014. Waiting in Line (30)
- PAT甲级1014. Waiting in Line (30)
- 1014. Waiting in Line (30) PAT 甲级
- PAT 甲级 1014. Waiting in Line (30)
- PAT 甲级 1014. Waiting in Line
- [PAT-甲级]1014.Waiting in Line
- PAT甲级A1014. Waiting in Line (30)
- PAT甲级练习1014. Waiting in Line (30)
- 1014. Waiting in Line (30)-PAT甲级真题(queue的应用)
- [PAT甲级]1014. Waiting in Line (30)(银行排队办理业务结束时间 队列的应用)
- [ZJU.PAT] 1014. Waiting in Line (30)
- 1014. Waiting in Line (30)-PAT
- pat 1014. Waiting in Line (30)
- PAT 1014. Waiting in Line (30)
- PAT A 1014. Waiting in Line (30)
- PAT (Advanced) 1014. Waiting in Line (30)
- PAT 1014. Waiting in Line (30)
- PAT 1014. Waiting in Line (30)
- IOS-Xcode Compile flags
- 未来的十二个趋势
- Python数据类型详解
- PHP:电商网站高并发的秘诀之电商秒杀活动
- Glide使用探索(二)——磁盘缓存无效化
- 1014. Waiting in Line (30) PAT 甲级
- FragmentActivity和Activity的区别
- Map/Reduce实现表的自连接
- springmvc中的controller使用Value注解值不正确,是注解值
- oracle误删除数据的恢复方法
- is_dir(),opendir(),readdir()简单遍历目录下的文件
- AJAX学习
- Linux 之端口监听
- leancloud常用语法