博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PTA银行排队问题之单队列多窗口服务c++版——山东科技大学
阅读量:4031 次
发布时间:2019-05-24

本文共 1533 字,大约阅读时间需要 5 分钟。

题目:

假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选择编号最小的窗口。
本题要求输出前来等待服务的N位顾客的平均等待时间、最长等待时间、最后完成时间,并且统计每个窗口服务了多少名顾客。
输入格式:
输入第1行给出正整数N(≤1000),为顾客总人数;随后N行,每行给出一位顾客的到达时间T和事务处理时间P,并且假设输入数据已经按到达时间先后排好了顺序;最后一行给出正整数K(≤10),为开设的营业窗口数。这里假设每位顾客事务被处理的最长时间为60分钟。
输出格式:
在第一行中输出平均等待时间(输出到小数点后1位)、最长等待时间、最后完成时间,之间用1个空格分隔,行末不能有多余空格。
在第二行中按编号递增顺序输出每个窗口服务了多少名顾客,数字之间用1个空格分隔,行末不能有多余空格。
输入样例:

90 201 151 612 1010 510 330 1831 2531 23

输出样例:

6.2 17 615 3 1

遍历每一个人,找空闲窗口,如果没有的话找剩余时间最小的窗口,更新窗口信息。

#include
using namespace std;#define maxn 2147483647class person{
public: int begintime;//到来的时间 int waittime;//等待的时间 int needtime;//处理问题的时间 int lasttime;//结束时间,也是离开时间}p[1001];class window{
public: int num;//窗口服务的人数 int sum;//表示等到sum时间之后该窗口才能空闲}w[11];int n,k;int sum=0;//等待时间int maxtime=0;int lasttime=0;double waittime=0;int find_window(int l){
int timer=maxn,x; for(int i=0;i
>n; for(int i=0;i
>p[i].begintime>>p[i].needtime; if(p[i].needtime>60) p[i].needtime=60; } cin>>k;}void solve(){
for(int i=0;i
w[j].sum) {
w[j].sum=p[i].begintime; w[j].sum+=p[i].needtime; p[i].waittime=0; } else {
p[i].waittime=w[j].sum-p[i].begintime; w[j].sum+=p[i].needtime; } w[j].num++; p[i].lasttime=p[i].begintime+p[i].waittime+p[i].needtime; } for(int i=0;i

每天进步一点点,十天进步十点点,加油!

ps:代码仅供参考,请勿抄袭

转载地址:http://tlqbi.baihongyu.com/

你可能感兴趣的文章
转载一个webview开车指南以及实际项目中的使用
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
关于let{a}=B出现的解构赋值
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
android给文字加边框(修改不能居中的问题)
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>
coursesa课程 Python 3 programming Dictionary methods 字典的方法
查看>>
Returning a value from a function
查看>>
coursesa课程 Python 3 programming Functions can call other functions 函数调用另一个函数
查看>>
coursesa课程 Python 3 programming The while Statement
查看>>
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
visca接口转RS-232C接口线序
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>