当前位置: 首页 > wzjs >正文

东莞网站建设咨询外贸做企业什么网站

东莞网站建设咨询,外贸做企业什么网站,网站要怎么做关键词,江津做网站题目描述 有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1-10不同的优先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先…

题目描述

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1-10不同的优先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。

现在请你来模拟这5台打印机的打印过程。

输入描述

每个输入包含1个测试用例,每个测试用例第1行给出发生事件的数量。

接下来有N行(0 < N < 1000),分别表示发生的事件。共有如下两种事件:

  1. IN P NUM,表示有一个拥有优先级NUM的文件放到了打印机P的待打印队列中。(0 < P <= 5, 0 < NUM <= 10);
  2. OUT P,表示打印机P进行了一次文件打印,同时该文件从待打印队列中取出。(0 < P <= 5)。

输出描述

对于每个测试用例,每次OUT P事件,请在一行中输出文件的编号。如果此时没有文件可以打印,请输出NULL

文件的编号定义为:IN P NUM事件发生第X次,此处待打印文件的编号为X,编号从1开始。

示例描述

示例一

输入:

7
IN 1 1
IN 1 2
IN 1 3
IN 2 1
OUT 1
OUT 2
OUT 2

输出:

3
4
NULL

示例一

输入:

5
IN 1 1
IN 1 3
IN 1 1
IN 2 3
OUT 1

输出:

2

解题思路

  1. 本题构建多个优先序列,用于表示待打印队列。
  2. 构造一个打印机序列,其中key是打印机编号,value是待打印的优先序列。
  3. 分别处理IN P NUMOUT P指令:
    • IN P NUM指令:使用优先队列,由于优先序列是越小越优先,所以num要取负号,将待打印文件编号放入优先队列中。
    • OUT P指令:从优先队列中取出文件编号,放入结果队列中。
  4. 返回结果队列。

解题代码

import heapqdef solve_method(print_list):result = []file_id = 1# 构造一个打印机序列,其中key是打印机编号,value是待打印的优先序列printers = {}for command in print_list:commands = command.split()if commands[0] == "IN":p = commands[1]num = int(commands[2])if p not in printers:printers[p] = []# 使用优先队列,由于优先序列是越小越优先,所以num要取负号heapq.heappush(printers[p], (-num, file_id))file_id += 1elif commands[0] == "OUT":p = commands[1]if p in printers and len(printers[p]) > 0:# 从优先队列中取出文件编号_, file_id = heapq.heappop(printers[p])result.append(file_id)else:result.append("NULL")return resultif __name__ == '__main__':print_list = ["IN 1 1","IN 1 2","IN 1 3","IN 2 1","OUT 1","OUT 2","OUT 2"]assert solve_method(print_list) == [3, 4, "NULL"]print_list = ["IN 1 1","IN 1 3","IN 1 1","IN 2 3","OUT 1"]assert solve_method(print_list) == [2]

在这里插入图片描述


文章转载自:

http://6NZZkmhq.hffjj.cn
http://vPkFCn6E.hffjj.cn
http://dTijFI2f.hffjj.cn
http://um42ErLT.hffjj.cn
http://O1OVwIjn.hffjj.cn
http://2KlbXCAw.hffjj.cn
http://DWpy0Zul.hffjj.cn
http://66DvjLdM.hffjj.cn
http://eYRCWjVc.hffjj.cn
http://VDxD2yK2.hffjj.cn
http://oFeJi11W.hffjj.cn
http://O6LwBjhq.hffjj.cn
http://OMbbgDtd.hffjj.cn
http://xIKPB8LE.hffjj.cn
http://UIVk6NTK.hffjj.cn
http://TnFdxBLQ.hffjj.cn
http://qy6UPfik.hffjj.cn
http://lSzE2R0T.hffjj.cn
http://6W3SU2Yx.hffjj.cn
http://ZnG0uqVZ.hffjj.cn
http://8aXBro6s.hffjj.cn
http://NJKqfL1P.hffjj.cn
http://Payhe1sv.hffjj.cn
http://RS6wyksw.hffjj.cn
http://L4HLOxkV.hffjj.cn
http://rZZNRERo.hffjj.cn
http://KRgw2kpe.hffjj.cn
http://k8e409XH.hffjj.cn
http://7j78lvIG.hffjj.cn
http://ehv2AgkL.hffjj.cn
http://www.dtcms.com/wzjs/777294.html

相关文章:

  • 小说网站建设需要什么js跳转到别的网站
  • 婚纱定制网站哪个好韶关网站开发
  • 昆明网站制作企业海淘手表网站
  • 深圳wap网站建设7天精通网站建设实录简介242
  • 中国建设银行个人网站银行广州专业网页制作
  • 建设银行 北京招聘网站开购物网站需要多少钱
  • 客户网站建设需要什么资料网站开发app开发培训
  • 房地产项目网站建设方案淄博公司制作网站有哪些
  • 男学网站开发胡芦娃app软件下载网站
  • 建设银行网银官方网站公司网站的具体步骤
  • 做视频网站 带宽计算网站建设优化需要懂那些知识
  • 一流的网站建设与优化京东云wordpress
  • 网站开发技术历史大连甘井子区地图
  • 网站怎么做缓存上海市城乡住房建设厅网站
  • 瑞华特散热器网站谁给做的推动高质量发展的必要性
  • 关于建设网站的合作合同重庆seo研究中心
  • 网站建设花钱少做网站的内容资源
  • 中山网站建设解决方案做动态效果的网站
  • 公司做网站需要哪些步骤网站怎样关键词排名优化
  • 自己做网站服务器做个营销网站
  • 帮人做兼职的网站吗wordpress管理员手册
  • 如何申请网站备案号手机网站注册
  • 宁波手机网站开发工程建设网站怎么提交
  • 可以做h5的网站网站不想被百度抓取
  • 网站网页建设论文广州市建设工程安监站网站
  • 网站开发设计哪家好爱站网长尾词挖掘
  • 百度小程序对网站seoWordPress中文替换布
  • nginx wordpress 多站点南宁网站建设升上去
  • 网站提交订单付款才跳转怎么做北京最新消息今天新闻
  • 唐山网站托管wordpress例行维护