当前位置: 首页 > news >正文

汕头seo网站推广公众号运营总结

汕头seo网站推广,公众号运营总结,寺庙 网站建设,互联网技术学院题目 题目大意 银行有k个窗口,每个窗口只能服务1个人。如果3个窗口已满,就需要等待。给出n个人到达银行的时间和服务时间,要求计算每个人的平均等待时间。如果某个人的到达时间超过17:00:00,则不被服务,等待时间也不计…

题目

题目大意

银行有k个窗口,每个窗口只能服务1个人。如果3个窗口已满,就需要等待。给出n个人到达银行的时间和服务时间,要求计算每个人的平均等待时间。如果某个人的到达时间超过17:00:00,则不被服务,等待时间也不计算在内。如果某个人早于8:00:00到达,那该人要至少等到8:00:00才能被服务。

思路

银行排队问题,根据题意模拟,和1014相似。首先考虑怎么处理字符串形式的时间,这里我将小时,分钟,秒都计算出来,到达时间用秒来表示。一个人有到达时间,服务时间,还要计算等待时间,因此我用结构体来表示,数据结构就用了一个结构体数组。因为要考虑先后顺序,所以肯定要排序。

排序之后先考虑一般情况,一个人的等待时间 = 窗口的最小结束服务时间 - 到达时间(只有前面的某个窗口结束服务,这个人才能开始服务)。再考虑这个人的到达时间晚于窗口结束服务时间的情况,也就是说,他到银行的时候就已经有空位了。那么他的等待时间 = 0,结束服务时间 = 到达时间 + 服务时间。因此需要一个window数组来记录每个窗口的结束服务时间,也就是可以开始服务下一个人的时间。window数组初始化为8点,也即每个窗口开始服务下一个人的时间是8点。

代码

#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
using namespace std;struct man{int begin;  // 开始时间(单位:秒)int time;  // 服务时间(单位:秒)int wait;  // 等待时间(单位:秒)
};bool cmp(man x, man y){return x.begin < y.begin;
}int main(){int n, k;cin >> n >> k;vector<man> v;vector<int> window(k, 8 * 3600);  // 记录每个窗口服务结束的时间for (int i = 0; i < n; i++){string s0;int begin, time, wait = 0;cin >> s0 >> time;if (s0 <= "17:00:00"){int h = (s0[0] - '0') * 10 + (s0[1] - '0');int m = (s0[3] - '0') * 10 + (s0[4] - '0');int s = (s0[6] - '0') * 10 + (s0[7] - '0');begin = h * 3600 + m * 60 + s;v.push_back({begin, time * 60, wait});}}sort(v.begin(), v.end(), cmp);for (int i = 0; i < (int)v.size(); i++){int mini = 0, mint = INT_MAX;for (int j = 0; j < k; j++){if (mint > window[j]){mint = window[j];mini = j;}}  // 最小结束时间v[i].wait = max(0, window[mini] - v[i].begin);  // 考虑顾客到达时间在结束时间之后window[mini] = max(window[mini], v[i].begin) + v[i].time;  // 考虑顾客到达时间在结束时间之后}double res = 0.0;for (int i = 0; i < (int)v.size(); i++){res += v[i].wait;}res /= (int)v.size() * 60.0;printf("%.1lf\n", res);return 0;
}

http://www.yayakq.cn/news/311651/

相关文章:

  • 门户站点是什么潞城网络营销怎么做
  • 免费创建个人网站申请工作室网站备案
  • 福建省网站备案用户注销(删除)备案申请表wordpress category
  • 福建有没有网站做鞋子一件代发网站空间费
  • 重庆建设科技培训中心官方网站品牌推广平台
  • 在网站后台管理系统里产品说明怎么添加图片天塔网站建设公司
  • 网上做设计的网站国内建筑网站
  • 网站接入空间南京网站设计公司大全
  • 摄影作品网站有哪些上海家装十强企业
  • 营口组织部网站 两学一做北京软件开发公司排
  • 太原做网站个人网站网页建设实训心得体会
  • 盐城网站建设哪家快惠州seo排名公司
  • 佛山做网站哪家公司最好seo外链群发工具
  • 智慧团建网站入口手机版网站建设需要会一些啥
  • 杭州本地品牌网站建设收费wordpress收不到邮箱验证码
  • swiper做的全屏网站手机发博客wordpress
  • 重庆建筑网站网站建设学习多少钱
  • 如何用自己的电脑建网站做网站系统用什么语言
  • 网站一键生成app南通海洲建设集团网站
  • 校庆专题网站建设方案深圳定制专业网站
  • 波纹工作室 网站代理上海建站公司注册
  • 做网站的宣传语建视频网站
  • 做网站月薪10万找外包公司开发app要注意什么
  • 百度工具网站改版阿里云网页版入口
  • 上海网站建设公司招聘创新的南昌网站制作
  • 耀华建设管理有限公司网站制作网站要钱吗
  • 甘肃水利工程建设管理网站怎么做代理卖东西
  • 珠海建网站的网络公司免费wordpress主题破解版
  • 大岭山仿做网站中国比较好的设计网站
  • 网站开发过程 知乎潍坊网站建设公司有哪些内容