专栏首页英雄爱吃土豆片OJ刷题记录:柜台服务 题目编号:453

OJ刷题记录:柜台服务 题目编号:453

柜台服务 题目编号:453

题目要求: 编写一个商店柜台接待客人的程序,现在只有一个柜台可以接待客人,在同一时间只能接待一个客人,接待每个客人都需要花费一定的服务时间,现在有一张表,记录顾客到来的时间和每个顾客要占用的服务时间,如果顾客来的时候柜台正在接待客人或者顾客前面还有等待着的顾客,顾客就需要等待,你需要计算出顾客等待的最长时间。

输入描述 输入数据有多组。

每组输入数据,第一行为一个整数n(1<=n<=50),表示有n名顾客。第二行是n个整数c[n],每位顾客在ci时刻到来,c[n]是非递减的一个序列。第三行是n个整数t[n],对应第二行的顾客接受服务需要t[i](1<=t[i]<=15)分钟。

输出描述 每组数据对应一行输出,为等待的最长时间。

输入样例 3 3 3 9 2 15 14 1 182 11 输出样例 11 0

解题思路: 主要是需要弄懂怎么计算当前顾客的等待时长。 第一个顾客的等待时长肯定为 0 。 而除了第一个顾客以外,其他的顾客需要等待的时长可以通过他到达的时间和上一个顾客离开(即等待完成并且接受服务完成)的时间来判断:如果当前的顾客到达的时间小于上一个顾客离开的时间,即当前顾客在上一个顾客还未离开时到达,则当前顾客需要等待,否则不用等待,等待时长为 0,并且 当前顾客需要等待的时长 = 上一个顾客离开的时间 - 当前顾客到达的时间。即 当前顾客需要等待的时长 = (上一个顾客的到达时间 + 上一个顾客等待的时长 + 上一个顾客接受服务的时长)- 当前顾客到达的时间。 弄懂了主要计算思路,然后就是程序的代码实现。 我们可以使用数组或者结构体,在输入时分别存储每一个顾客对应的到达时间和接收服务的时长。然后计算出每一个成员需要等待的时长,存放在另一个结果数组中。输出结果数组元素中的最大值即可。

通关代码:

#include <iostream>

using namespace std;

int main() {
	int n;
	int time[51];
	int duration[51];
	int needWait[51];
	
	while (cin >> n) {
		
		for (int i = 0; i < n; i++) {
			cin >> time[i];
		}
		for (int i = 0; i < n; i++) {
			cin >> duration[i];
		}	
		
		needWait[0] = 0;
		
		for (int i = 1; i < n; i++) {
			if ((time[i - 1] + duration[i - 1] + needWait[i - 1] - time[i]) > 0) {
				needWait[i] = time[i - 1] + duration[i - 1] + needWait[i - 1] - time[i];
			} else {
				needWait[i] = 0;
			}
		}
		
		for (int i = 1; i < n; i++) {
			if (needWait[i] > needWait[0]) {
				needWait[0] = needWait[i];
			}
		}
		
		cout << needWait[0] << endl;		
	}
	
	return 0;
}

毕。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • OJ刷题记录:问题 A: 蓝桥杯(C/C++组)2015-8 移动距离

    题目要求: X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号...

    英雄爱吃土豆片
  • PTA刷题记录:L1-027 出租 (20分)

    一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]...

    英雄爱吃土豆片
  • C/C++感知机实现简单逻辑电路

    感知机算法是深度学习的基础。 感知机(Perceptron)定义 : 二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别。 我们使用C/C++...

    英雄爱吃土豆片
  • 决胜营销:重视客户有效参与

    大数据文摘
  • 驱动用户增长? 来,客户调查类型了解一下

    顾客调查可以帮助企业在短时间内用最低成本收集大量顾客反馈。这些调查结果可以帮助企业快速简便地满足顾客的反馈和要求,并且可以识别潜在用户以及进行案例研究。

    iCDO互联网数据官
  • 基于5个案例描述大数据如何应用在零售业

    根据财经网站Kiplinger报道,2017年,光是零售业销售额就有望增长3.5%,电子商务则持续大幅迈进,预期增幅15%。从日志文档、交易信息,到传感器数据和...

    1480
  • 【数据】 大数据在零售业中的五个用例

    随着零售业持续加速扩张,商户们也急于寻找大数据在零售业中的最佳用例。 根据财经网站Kiplinger报道,2017年,光是零售业销售额就有望增长3.5%,电子商...

    陆勤_数据人网
  • uva 10340 all in all

    输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串是。

    xindoo
  • Guava-1.基础工具类(base)

    悠扬前奏
  • CSS 常用属性

    Joel

扫码关注云+社区

领取腾讯云代金券