华为OJ训练之 简易的银行排号叫号系统
闯关第五关的题目,一个中级题和一个高级题。中间题比較简单,半个小时完毕了。题目例如以下
实现一个简易的银行排号叫号系统
get 取号 演示样例:"get"或"get vip"
call 叫号 演示样例:"call"
delete 删除号码 演示样例:"delete 5"
count 获取当前排队总人数 演示样例:"count"
countN 获取号码N曾经的排队人数 演示样例:"countN"
reset 重置排号机 演示样例:"reset"
quit 退出排号机 演示样例:"quit"
|
每行仅仅会有一条输入(比方:C语言可使用gets函数获取一行输入命令的字符串)。 1、若输入不符合要求(如:命令字非法,或其它觉得输入的错误)均需输出"error" 2、每条输出后使用换行符隔开(如后面演示样例) |
|
|
输出: |
1)取号。可获取普通号和vip号码。如初始状态,输入"get",则获取普通号码,运行结果为"1",如再次输入"get vip",则获取VIP号码,运行结果为"vip 2"。假设末尾的2号被删除,则再次调用"get"时应输出"2" VIP号码有绝对的优先级。普通号和vip号码统一编号。取号均为连续号码。号码从1開始编号。最大为100000. 2)叫号。 获取当前应该处理用户的号码。比如当前排队号码为1 2 3 4 5 7。当输入"call",运行结果为"1",如1为vip号码,则为"vip 1".假设再连续调用6次,第六次运行结果应为"error" 3)删除号码。客户不想办理时可删除号码。叫号时则跳过此号码。比如当前排队号码为1 2 3 4 5,输入"delete 5",运行结果为"5",假设5为vip则显示"vip 5"。再次输出"delete 5",运行结果为"error" 4)获取当前排队总人数。获取当前排队人数。比如当前排队号码为1 2 3 4 5 6,运行结果为"6" 5)获取在某个号码之前排队的总人数。 比如当前排队号码为1 2 3 4 5 7,输入"countN 7",运行结果为"5" 6、重置排号机。比如输入"reset",则重置排号机,进入初始状态,无需输出。 7、退出排号机。比如输入"quit",则退出排号机,无需输出。 |
|
例子输入: |
get |
|
例子输出: |
1 我的 package breakthrough; import java.util.LinkedList; |
华为OJ训练之 简易的银行排号叫号系统的更多相关文章
- 华为OJ:火车进站
火车进站 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号.要求以字典序排序输出火车出站的序列号. 输入描述: 有多组测试用例, ...
- 在华为oj的两个月
一次偶然的机会,我接触到华为oj平台(http://career-oj.huawei.com/exam/camLogin.jsp),当时的心情很是兴奋,于是立马注册开通,然后迫不及待地上去做题.刚开始 ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- C#:根据银行卡卡号判断银行名称
原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,博主是一个今年刚出来的应届毕业生,不足之处请多多包涵. 根据银行卡号判断所属银行,依 ...
- ytu 1067: 顺序排号(约瑟夫环)
1067: 顺序排号 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 31 Solved: 16[Submit][Status][Web Board] ...
- C++经典题目:有n个人围成一圈,顺序排号,然后数数进行淘汰的解法和一些思考
问题描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 分析: 首先由用户输入人数n,然后对这n个人进行编号[因为如果不编号的话 ...
- 银行综合储蓄业务系统,水平为学了一年C语言
银行综合储蓄业务系统 #include <stdio.h> #include<string.h> int acccunt = 0; char name[10],pw[10]; ...
- C#:根据银行卡卡号推断银行名称
原文:C#:根据银行卡卡号推断银行名称 原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银 ...
- 基于KMP与Levenshtein模糊匹配算法的银行联行号查询(转)
在人民银行那里,每个银行的每一个营业网点都有自己唯一的银行联行号,根据这个号码能快速定位一间银行具体的分支行,就像根据一个身份证号码能快速确定一个人一样.例如汇款时,汇款单上要求填写收款人开户行,然后 ...
随机推荐
- Combogrid的onChange和onSelect
这里只作记录一下 在easyui开发过程中遇到下边两个事儿 combogrid/combotree做级联: $("#" + deptId).combotree( { url : u ...
- 解决spark程序报错:Caused by: java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]
报错信息: 09-05-2017 09:58:44 CST xxxx_job_1494294485570174 INFO - at org.apache.spark.sql.catalyst.erro ...
- 网络游戏MMORPG服务器架构
转载于:http://justdo2008.iteye.com/blog/1936795 1.网络游戏MMORPG整体服务器框架,包括早期,中期,当前的一些主流架构 .关键词 网络协议 网络IO 消息 ...
- #include <NOIP2008 Junior> 双栈排序 ——using namespace wxl;
题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1 ...
- android 模拟器无法ping通主机
很多时候我们通过adb 连接 android 模拟器调试网络程序,也许你能直接访问浏览器,浏览网站,但是却无法ping同局网的一个机器,比如: # ping www.sina.com ...
- Power Desginer系列03【转载】
在PowerDesigner中设计物理模型1——表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型生成物 ...
- DataBindings的用法
在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于复 ...
- java中的深浅克隆
假设有一个对象object,在某处又需要一个跟object一样的实例object2,强调的是object和object2是两个独立的实例,只是在开始的时候,他们是具有相同状态的(属性字段的值都相同). ...
- js 能实现监听F5页面刷新子iframe 而父页面不刷新
重点是阻止默认的刷新,这样外部页面就不刷新了,然后指定刷新iframe,我下面给出了思路 document.onkeypress = function(e){ if(e.keyCode == 116) ...
- ADBport被占用,adb server is out of date
wd=adb&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YdPWD1uyP-PHf1ryRYP1Nh0ZwV5Hcvrj ...