文档章节

PAT 1017 Queueing At Bank

guoliang
 guoliang
发布于 2013/08/26 15:07
字数 317
阅读 86
收藏 0
点赞 0
评论 0

这道题目一般可以想到以时间为中心,进行累加,然后模拟出一个排队等待队列,然后再分配空闲的窗口就可以了。

但是更好的办法是以顾客为中心,先对顾客按到达时间进行排序。然后选出最近的顾客到达时间,和最早空闲的窗口的时间。这两个时间里面最大的时间,就是下一个顾客开始处理的时间。处理时间-到达时间即等待时间。

时间可以全部转换成秒来表示。

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <functional>
#include <string>
#include <queue>

using namespace std;

int N,K;

class Person
{
public:
	int time;
	int ptime;
};
Person persons[10005];
int window[105];

int comp(const Person& a, const Person& b)
{
	return a.time < b.time;
}
int main()
{
	scanf("%d %d",&N,&K);
	for(int i=0;i<N;i++)
	{
		
		int h,m,s;
		int ptime;
		scanf("%d:%d:%d %d",&h,&m,&s,&ptime);
		int time = h*60*60 + m*60 +s;
		persons[i].ptime = ptime*60;
		persons[i].time = time;
	}
	sort(persons,persons+N,comp);

	for(int i=0;i<K;i++)
		window[i] = 8*60*60;
	
	
	int sumWait = 0;
	int num=0;
	for(int i=0;i<N;i++)
	{
		if(persons[i].time > 17*60*60)
			break;
		int* pWin = min_element(window,window+K);
		int ptime = max(*pWin,persons[i].time);
		sumWait += ptime - persons[i].time;
		*pWin = ptime+persons[i].ptime;
		num++;
	}
	
	printf("%.1f",((float)sumWait/num)/60);
	return 0;
}



© 著作权归作者所有

共有 人打赏支持
guoliang
粉丝 26
博文 131
码字总数 27457
作品 0
杭州
程序员
PAT 1017. A除以B (20)

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔。 输出格式: 在1...

xnh_565175944
04/09
0
0
Python 基础练习 PAT水题(四)

#学习笔记 #用以练习python基础 # 原题链接:https://www.patest.cn/contests/pat-b-practise/1050 1050. 螺旋矩阵(25) 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“...

chaunceyjiang
2017/04/26
0
0
版本之战渐酣 Opera 12 小荷已露尖尖角

在Chrome的挑逗之下,不仅Mozilla Firefox耐不住寂寞,就连一向沉稳的Opera也行动了起来,版本发布速度日益加快。今天,Opera 12.00的首个开发版本snapshot 1017发布。虽然不推荐普通用户使用...

红薯
2011/07/08
1K
19
Telerik_2012_Q3 (已破解)全套下载链接

1.TelerikOpenAccessORM201231012_SDK.zip (暂未提供下载) 2. TelerikOpenAccessORM201231012.zip 3. TelerikExtensionsforASPNETMVC201231018_Commercial.zip 4.Telerik.Web.UI201231016_D......

awbeci
2013/10/17
0
0
PDF.NET SOD 轻量级框架 5.5.5.1017 发布

PDF.NET SOD 轻量级框架 5.5.5.1017 发布了。SOD 不仅仅是一个ORM框架,还包括 SQL-MAP,DataControls,但它却是一个简单的,并且容易使用的,非常轻量级的框架。 PDF.NET SOD框架 5.5.5.1017...

独行族妖侠
2016/10/17
1K
2
Fx Queues

Introduction The jQuery Fx Queues plugin is a global queueing system that allows to enqueue effects of different elements, but also keeps jQuery’s default queueing option. A wa......

匿名
2008/09/19
452
0
解决Cacti故障,cacti.log中出“ERROR: SQL Assoc Failed!”的错误

故障现象: 查看cacti.log日志出现大量的类似“CMDPHP: Poller[0] ERROR: SQL Assoc Failed!, Error:'1017'”的错误,具体内容如下: 04/24/2014 04:00:41 PM - CMDPHP: Poller[0] ERROR: SQ......

LionelShen
2014/04/24
0
0
mysql查询语句

我要查询多张关联表的信息不知道哪里有错,下面是代码:select b.,pat.,per.,pese.,gro.* from bedtable b left join patient pat on b.pat_id = pat.id left join personalinformation per ......

温柔的美男子
2017/08/28
107
3
libdvbpsi源码分析(四)PAT表解析/重建

由上一章libdvbpsi源码分析(三)PSI decocder详细分析,我们知道了psi decoder的构建过程。本章将延续上文 以PAT表详细解析为例,由点及面的概述libdvbpsi的实现。 下面详细分析pat decoder解...

地狱的烈火
2013/11/13
0
0
grep、sed、awk、perl等对正则表达式的支持的差别

在各种常用的工具中, 正则表达式如此的相似却又不同。 下表列出了一些常用的正则表达式,以及其不同之处。 项目总多,遗漏必有不少,请各位看官不吝指出。 以perl的正则为基准,不同的用法以...

流浪的洋葱
2014/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
23分钟前
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
40分钟前
4
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
57分钟前
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0
There is no session with id[xxx]

参考网页 https://blog.csdn.net/caimengyuan/article/details/52526765 报错 2018-07-19 23:04:35,330 [http-nio-1008-exec-8] DEBUG [org.apache.shiro.web.servlet.SimpleCookie] - Found......

karma123
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部