刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

业务办理时间

【题目描述】

某服务大厅同时开放3个窗口为客户办理业务,窗口编号分别为1、2、3。

现有N(2≤N≤50)位客户需要办理业务,客户编号为1~N,作为办理业务的先后顺序。

起初三个窗口为空闲状态,空闲的窗口会按照客户编号顺序呼叫下一位客户。如果多个窗口同时为空闲状态,按照窗口编号顺序呼叫(1优先于2,2优先于3)。

现给出每位客户办理业务的时间(单位:分钟),请计算出N位客户全部办理完业务后,哪一个窗口合计办理业务的时间最短,并输出最短时间。

例如:N=7,7位客户编号分别为1、2、3、4、5、6、7,客户办理业务时间分别为3、5、2、4、7、1、6,(如下图):

初始客户编号为 1、2、3 的客户分别在 1、2、3 窗口同时办理业务;

窗口 3 用时 2 分钟办理完 3 号客户的业务,变为空闲状态,并按顺序呼叫 4 号客户,4 号客户用时 4 分钟。

窗口 1 用时 3 分钟办理完 1 号客户的业务,变为空闲状态,并按顺序呼叫 5 号客户,5 号客户用时 7 分钟。

窗口 2 用时 5 分钟办理完 2 号客户的业务,变为空闲状态,并按顺序呼叫 6 号客户,6 号客户用时 1 分钟。

6 分钟后,窗口 2 和 3 同时变为空闲状态,按顺序窗口 2 呼叫 7 号客户,7 号客户用时 6分钟。

全部客户办理完业务后,三个窗口总用时分别为 10分钟、12分钟、6分钟,用时最短的是窗口 3,最短时间为 6 分钟。

【输入格式】

第一行输入一个正整数 N(2 ≤ N ≤ 50),表示办理业务的客户数。

第二行输入 N 个正整数(1 ≤ 正整数 ≤ 50),依次表示每位客户办理业务的时间,正整数之间以一个空格隔开。

【输出格式】

输出一个整数,表示客户全部办理完业务,用时最短的窗口所用时间。

【输入样例1】

7
3 5 2 4 7 1 6

【输出样例1】

6

使用微信搜索喵呜刷题,轻松应对考试!

答案:

首先,我们需要读取输入,包括客户数量和每位客户办理业务的时间。然后,我们模拟窗口办理业务的过程,记录每个窗口的办理时间。最后,我们找出办理时间最短的窗口,并输出其时间。

解析:

【喵呜刷题小喵解析】:
这个题目是一个模拟题,要求我们模拟窗口办理业务的过程,并找出办理时间最短的窗口。首先,我们需要读取输入,包括客户数量和每位客户办理业务的时间。然后,我们模拟窗口办理业务的过程,记录每个窗口的办理时间。具体来说,我们可以使用一个数组来记录每个窗口的办理时间,初始时所有窗口的办理时间都为0。然后,我们按照客户编号顺序依次处理每个客户,如果某个窗口空闲,就让这个窗口办理当前客户的业务,并更新这个窗口的办理时间。最后,我们找出办理时间最短的窗口,并输出其时间。

需要注意的是,如果多个窗口同时为空闲状态,我们需要按照窗口编号顺序呼叫客户。因此,在模拟窗口办理业务的过程中,我们需要维护一个空闲窗口的队列,按照窗口编号顺序入队和出队。

此外,由于客户数量和客户办理业务的时间都是已知的,我们可以直接计算出每个窗口的办理时间,而不需要模拟整个办理过程。具体来说,我们可以按照客户编号顺序依次累加每个客户的办理时间,得到每个窗口的办理时间。然后,我们找出办理时间最短的窗口,并输出其时间。这种方法的时间复杂度为O(N),比模拟窗口办理业务的过程要快很多。
创作类型:
原创

本文链接:业务办理时间 【题目描述】 某服务大厅同时开放3个窗口为客户办理业务,窗口编号分别为1、2、3。 现

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share