1332
来源:互联网 发布:淘宝天猫销售额 编辑:程序博客网 时间:2024/05/21 11:04
#include <iostream>#include <string.h>#include <queue>#include <string>#include <vector>using namespace std;#define ll long#include <map>#include <set>/***********************************/// jincheng diaodustruct node{ ll time,rt,gt; ll sp,ep; string id; node(ll ti,ll v,ll g,string i,ll s,ll e) { time=ti,rt=v,gt=g,id=i; sp=s,ep=e; }};vector<node> ipcb;map<string,int> named;int num;ll times,endtimes;void addpcb(){ ll t; string id; cout<<"id: "; cin>>id; cout<<"sum time: "; cin>>t; cout<<endl; if(named[id]) { cout<<"the id is exsid " <<endl; return ;} num++; named[id]++; node p(t,t,times,id,endtimes,endtimes+ t/num); endtimes+=t/num; ipcb.push_back(p);}void runing(){ if(ipcb.empty()) return ; node p=ipcb.front(); ipcb.erase(ipcb.begin()); ll temp=p.ep-p.sp; p.rt-=temp; endtimes+=temp; times+=temp; if(p.rt<=0.0) { num--; named[p.id]--; return ; } p.sp=times; p.ep=times+p.time/num; if(p.time/num>p.rt) { p.ep=p.sp+p.rt; endtimes+=p.rt; } else endtimes+=p.time/num; ipcb.push_back(p);}void pcbshow(){ cout<<"id ArriveTime time StartTime EndTIme RestTime"<<endl; for(int i=0;i<ipcb.size();i++) { node p=ipcb[i]; cout<<p.id<<" "<<p.gt<<" "<<p.time<<" "<<p.sp<<" "<<p.ep<<" "<<p.rt<<endl; } cout<<" now time:"<<times<<endl;}void pcbwork(){ string way; while(true) { // cout<<"\033c"; cout<<"1. add pcb"<<endl; cout<<"2. run"<<endl; cin>>way; if(way[0]=='1') addpcb(); else if(way[0]=='2') runing(); // else { cout<<"\033c"; continue; } pcbshow(); }}/**************************************************/// zuoye diaodustruct jcb{ ll gt,time; string id; bool operator<(const jcb b) const { return this->time < b.time; } jcb(string d,ll t,ll g) { id=d,time=t,gt=g; }};multiset<jcb> jcbs;void addjcb(){ string id; ll ti; cout<<"id : "; cin>>id; cout<<"time :"; cin>>ti; jcb p(id,ti,times); jcbs.insert(p);}void jcbwork(){ ll i,l,r; while(true) { cout<<"1. add work 2. run"<<endl; cin>>i; if(i==1) addjcb(); else { times+= (jcbs.begin())->time; jcbs.erase(jcbs.begin()); } multiset<jcb>::iterator it=jcbs.begin(); //show jcbs l=r=times; while(it!=jcbs.end()) { l=r; r+=it->time; ll k=r-(it->gt); cout<< it->id <<" "<<it->gt<<" "<<it->time<<" "<<l<<" "<<r<<" "<<k<<" "<<(double)k/(it->time)<<endl; it++; } }}/***************************************************/int main(){ ipcb.clear(); named.clear(); jcbs.clear(); num=0; times=endtimes=0; cout<<"1. pcbwork 2.jcbwork"<<endl; ll way; cin>>way; if(way==1) pcbwork(); else jcbwork(); return 0;}
阅读全文
0 0
- 1332
- 1332 排队
- NDK 1332 挑战
- HDU 1332 LC-Display
- hdu 1332 LC-Display
- 1332: addreviate--中级
- codevs 1332 上白泽慧音
- 【codevs 1332】上白泽慧音
- codevs 1332 上白泽慧音
- CODEVS 1332 上白泽慧音
- Codevs 1332 上白泽慧音
- CODEVS 1332 上白泽慧音
- 1332: 幂的末尾
- 1332:幂的末尾
- 【codevs 1332】上白泽慧音
- 1332A+B
- LightOj 1332 矩阵快速幂
- codevs 1332 上白泽慧音(Tarjan)
- 批量删除.svn文件夹
- 使用python的Flask实现一个RESTful API服务器端[翻译]
- 自动对焦 AF(上)
- ANSYS.ICEM.CFD.FOR.CFX.V1.0 计算流体力学(CFD)的CAE软件
- 2018第三届国际社会科学与人文教育研讨会(SSHE 2018)
- 1332
- 【Learning】虚树
- Eclipse设置console不限行数
- java8 -list
- Spring Cloud Config 之svn配置仓库与动态刷新(客户端)
- 软件测试的艺术——学习笔记3
- 2018年企业采购平台哪个好?供应平台哪个好?
- 风险预测模型评价第二弹:NRI的R语言计算
- 服务器上搭建javaweb环境(jdk+tomcat)