N 人,身份证号码为 1、2、...,N,正在银行前排队。 会有 O 事件。可能会发生以下三种事件。 • 1:出纳员呼叫具有最小身份证号码但未被呼叫的人。 • 2 x:身份证号码为 a 的人第一次来到柜员处。(在这里,出纳员至少已经叫过一次人A。 • 3:出纳员再次呼叫已经呼叫但尚未来的具有最小身份证号码的人。 打印出纳员在第三种事件中呼叫的人员的身份证号码。

时间: 2023-05-11 09:03:44 浏览: 98
这是一个经典的队列问题,可以使用队列来解决。具体实现如下: 首先,定义一个队列来存储排队的人的身份证号码。然后,根据不同的事件类型,进行相应的操作。 对于事件1,出纳员呼叫具有最小身份证号码但未被呼叫的人,可以从队列中取出最小的身份证号码,即队列的头部元素。 对于事件2,身份证号码为a的人第一次来到柜员处,可以将身份证号码a加入队列中。 对于事件3,出纳员再次呼叫已经呼叫但尚未来的具有最小身份证号码的人,可以先取出队列的头部元素,判断其是否已经被呼叫过,如果是,则继续取出下一个元素,直到找到一个未被呼叫过的元素为止。 最后,输出找到的具有最小身份证号码且未被呼叫过的人的身份证号码即可。 下面是具体的代码实现: ```python queue = [] # 定义一个队列来存储排队的人的身份证号码 # 处理事件 for i in range(O): event = input().split() if event[0] == '1': # 出纳员呼叫具有最小身份证号码但未被呼叫的人 while queue and queue[0] == 'called': queue.pop(0) if queue: print(queue[0]) queue[0] = 'called' elif event[0] == '2': # 身份证号码为a的人第一次来到柜员处 queue.append(event[1]) elif event[0] == '3': # 出纳员再次呼叫已经呼叫但尚未来的具有最小身份证号码的人 while queue and queue[0] == 'called': queue.pop(0) if queue: print(queue[0]) queue[0] = 'called' ``` 注意,这里的代码只是一个示例,具体实现可能会因为输入格式等原因而有所不同。

相关推荐

最新推荐

recommend-type

根据身份证号码计算出生日期、年龄、性别(18位) 根据入职时间计算工龄。

1、根据身份证号码计算出生日期、年龄、性别(18位) 代码如下: //获取输入身份证号码 var UUserCard = $(“#UUserCard”).val(); //获取出生日期 //UUserCard.substring(6, 10) + “-” + UUserCard.substring(10, ...
recommend-type

Excel表格中根据身份证号码自动填出生日期、计算年龄

Excel表格中根据身份证号码自动填出生日期、计算年龄,利用WPS的函数功能,只需要设置一下相应的参数,把一个个隐藏在身份证号码 里的信息提取出来,完成上面所有操作用时也不到半小时,将所得到的表格美化一下,就...
recommend-type

实验05 Java集合.doc

掌握集合的概念、体系结构、分类及使用场景 2)了解Set接口及主要实现类(HashSet、TreeSet) 3)了解List接口及主要实现类...2、为什么使用集合框架,而尽可能少用数组作为存储结构? 3、如何使用TreeSet实现第一题?
recommend-type

解决ASP导出查询结果到Excel中的身份证号问题.doc

近日在用视频教程'>asp把access数据库的查询结果导出为excel文件时,出现一点问题,因为有一个字段是身份证号码,在导出的excel文件中,所有身份证号后3位全部变成0了!真是郁闷啊!网上查了一下才知道是excel默认的...
recommend-type

微信小程序实现身份证取景框拍摄

主要介绍了微信小程序实现身份证取景框拍摄,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。