万卷网 > 题目详情
题型:编程题

某服务大厅同时开放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),依次表示每位客户办理业务的时间,正整数之间以一个空格隔开。

【输出格式】

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


【输入样例】

7
3 5 2 4 7 1 6

【输出样例】

6
更新时间:2022-12-12 13:34:44 |
【知识点】 蓝桥杯Python

相似题推荐

编程题

编程实现:

小蓝要使用相同大小的积木搭建楼梯,每层需要使用的积木块数量规律如下:

第一层需要使用1块积木;

第二层需要使用2块积木;

第三层需要使用3块积木;

依次类推;

第m层需要使用m块积木。

现在小蓝有n块积木,按照以上规律搭建楼梯,问一共可以搭建几层完整的楼梯。

如:n=7,第一层使用1块积木,第二层使用2块积木,第三层使用3块积木,第四层时剩余1块积木,不能完整搭建第四层,故不算完整的一层。即一共可以搭3层完整的楼梯。

如下图:

输入描述:

输入一个正整数n,表示积木块数

输出描述:

输出一个正整数,表示使用n块积木可以搭建几层完整的楼梯


样例输入:

7

样例输出:

3
2024-01-17
编程题

提示信息:

正方形面积=边长*边长。

编程实现:

给定一个正方形的边长,求出正方形的面积。

输入描述:

输入一个正整数作为正方形的边长

输出描述:

输出正方形的面积


样例输入:

2

样例输出:

4
2024-01-17
编程题

编程实现:

给定一个三位正整数,然后将其倒序输出。

输入描述:

输入一个个位数不为“0”三位正整数     

输出描述:

然后将这个正整数倒序输出


样例输入:

123

样例输出:

321
2024-01-16
编程题

编程实现:

有一组黑白按键,每按下其中一个按键,其相邻的按键和它本身都会变成相反的颜色(黑色变白色,白色变为黑色)。

如果按下的按键非最左边和最右边按键,则其本身和左右相邻的两个按键变相反颜色;

如果按下最左边按键,则其本身和右边相邻的一个按键变相反颜色;

如果按下最右的按键,则其本身和左边相邻的一个按键变相反颜色。

给出一张“初始图”和一张“最终图”。通过按下按键,使“初始图”变为“最终图”,求最少需要按几次可以完成。

如:初始图为黑、白、黑3个按键(状态表示:010),最终图为白、白 、黑3个按键(状态表示:110)。

首先按下2号按键,3个按键颜色变为白、黑、白(状态标识:101),然后按下3号按键,3个按键颜色变为白、白、黑(状态标识:110),故使“初始图”变为“最终图”最少需要按2次。

如下图:

输入描述:

第一行输入一个由“0”和“1”组成的字符串,字符串长度为n(1<n<26),表示游戏初始图状态,“0”表示黑色按键,“1”表示白色按键

第二行输入一个由“0”和“1”组成的字符串,字符串长度为n(1<n<26),表示游戏最终图状态,“0”表示黑色按键,“1”表示白色按键

输出描述:

输出一个整数,如果通过按键不能使初始图变为最终图,则输出“0”,否则输出最少需要按几次按键可以使初始图变为最终图


样例输入:

010
110

样例输出:

2
2024-01-16
编程题

编程实现:

首先给定两个数字m1和m2,然后再给定一个数字n,判断n是否在m1和m2之间,如果n在m1和m2之间则输出大写字母“Y”,否则输出大写字母“N”。

输入描述:

第一行输入两个数字m1,m2(m1<m2且m1,m2可以为整数或者小数),两数字之间以一个英文逗号隔开

第二行输入一个数字n

输出描述:

如果n在m1到m2之间(不含m1和m2),输出大写字母“Y”,否则输出大写字母“N”


样例输入:

1,8
6

样例输出:

Y
2024-01-16
公众号
客服 反馈
顶部