1017.Queueing at Bank (25)…to be continued…
pat-al-1017
2017-02-16
坑見注釋參考:《算法筆記:上機訓練實戰指南》機械工業出版社/** * pat-al-1017 * 2017-02-16 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<vector>#include<algorithm>using namespace std;struct CUS{ int comeTime; int serveTime;}newCustomer;int converTime(int h, int m, int s){ return (h * 3600 + m * 60 + s);}bool cmp(CUS a, CUS b){ return a.comeTime < b.comeTime;}int main(){ freopen("in.txt", "r", stdin); int n, k, waitTime = 0; scanf("%d%d", &n, &k); vector<CUS> cus; int start = converTime(8, 0, 0); int end = converTime(17, 0, 0); int endTime[k]; for(int i = 0;i < k;i++) { endTime[i] = start; } for(int i = 0;i < n;i++) { int hh, mm, ss, serveTime; scanf("%d:%d:%d %d", &hh, &mm, &ss, &serveTime); int comeTime = converTime(hh, mm, ss); if(comeTime > end) continue; newCustomer.comeTime = comeTime; newCustomer.serveTime = serveTime <= 60 ? serveTime*60 : 3600;//坑,別忘了把分鐘轉成秒 cus.push_back(newCustomer); } sort(cus.begin(), cus.end(), cmp); for(int i = 0;i < cus.size();i++) { //-TBC-新聞熱點
疑難解答