CLZ银行问题
CLZ银行问题
题目描述
CLZ 银行只有两个接待窗口,VIP 窗口和普通窗口,VIP用户进入 VIP 窗口排队,剩下的进入普通窗口排队。现有M 次操作,操作有四种类型,如下:
- IN name V:表示一名叫 name 的用户到 VIP 窗囗排队
- OUT V:表示 VIP 窗口队头的用户离开排队
- IN name N:表示一名叫 name 的用户到普通窗口排队
- OUT N:表示普通窗口队头的用户离开排队
求 M 次操作结束后 VIP 窗口队列和普通窗口队列中的姓名。
输入描述
第一行是一个整数 M(1≤ M ≤ 1000),表示一共有 M次操作。
第二行到第 M +1行输入操作,格式如下
- IN name V
- OUT V
- IN name N
- OUT N
输出描述
输出 I 次操作后 VIP 窗囗队列和普通窗口队列中的姓名(从头到尾),先输出 VIP窗口队列后输出普通窗口队列。
输入输出样例
示例 1
输入
5
IN xiaoming N
IN Adel V
IN laozhao N
OUT N
IN CLZ V
输出
Adel
CLZ
laozhao
思路分析
根据题目要求可知,用户成员为先进先出,所以使用队列来存储;再做多次对比判断:操作类型、用户名、用户类型,进行不同操作。
解答
import java.util.*;
public class Main {
static Queue<String> v = new LinkedList<>(); //存储VIP用户
static Queue<String> p = new LinkedList<>(); //存储普通用户
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int m = sc.nextInt(); //m次操作
while (m > 0){
m--;
String op,name,type;
op = sc.next();
if (op.contains("IN")){
name = sc.next();
type = sc.next();
if (type.contains("V")){
v.offer(name);
}else
p.offer(name);
}else {
type = sc.next();
if (type.contains("V")){
v.poll();
}else
p.poll();
}
}
while (v.size() != 0){
System.out.println(v.poll());
}
while (p.size() != 0){
System.out.println(p.poll());
}
}
}
CLZ银行问题的更多相关文章
- nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证
http模块内部封装了http服务器和客户端,因此Node.js不需要借助Apache.IIS.Nginx.Tomcat等传统HTTP服务器,就可以构建http服务器,亦可以用来做一些爬虫.下面简单介 ...
- C++ 事件驱动型银行排队模拟
最近重拾之前半途而废的C++,恰好看到了<C++ 实现银行排队服务模拟>,但是没有实验楼的会员,看不到具体的实现,正好用来作为练习. 模拟的是银行的排队叫号系统,所有顾客以先来后到的顺序在 ...
- Dark Mobile Bank之移动银行应用仿冒攻击威胁分析报告
一.背景 据“第十五次全国信息网络安全状况暨计算机和移动终端病毒疫情调查”调查结果显示,2015年移动终端的病毒感染比例为50.46%,相对于2014年增长了18.96%,移动终端病毒感染率涨幅较大, ...
- C#:根据银行卡卡号判断银行名称
原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,博主是一个今年刚出来的应届毕业生,不足之处请多多包涵. 根据银行卡号判断所属银行,依 ...
- .net 根据银行卡获取银行信息
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...
- NC57银行档案和客商银行账号为建行04 UPDATE
第二步 银行档案 update bd_bankdoc set bankdoccode='04N'|| bankdoccode , pk_banktype='0001ZZ1000000001OCUD' ...
- 通过开户银行账号查询客商名称 sql
select * from bd_cubasdoc where pk_cubasdoc in ( ') 查询空客商客户银行的单位名称 select b.custcode,b.custname, d.b ...
- sql查询单个银行账号重复
非一单位多银行账号. 今天成都公司熊娇付款时候单位名称在弹出的网银补录变成1,从开户银行看都是正常的,只是在分子公司集团这边点击修改开户银行保存就提示错误“银行账号不能重复” select * fro ...
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- R12将银行和分行都使用TCA管理
R12将银行和分行都使用TCA管理,后台保存在HZ_PARTIES . 银行帐号:如果是付款或者是收款(本公司的帐号,内部帐号),都保存在ce_bank_accounts,ce_bank_acct_u ...
随机推荐
- GPUStack 0.2:开箱即用的分布式推理、CPU推理和调度策略
GPUStack 是一个专为运行大语言模型(LLM)设计的开源 GPU 集群管理器,旨在支持基于任何品牌的异构 GPU 构建统一管理的算力集群,无论这些 GPU 运行在 Apple Mac.Windo ...
- C++11新初始化方法 使用{}初始化变量
列表初始化 在C++11及以后的版本中,使用{}来初始化变量是一种新的初始化方法,称为列表初始化(List Initialization).这种初始化方法可以用来初始化内置类型.自定义类型以及聚合类型 ...
- Flutter 2.8 正式发布
文/ Tim Sneath,Flutter & Dart 产品经理 Flutter 已经更新到 2.8 正式版,发布了多项新特性和改进以不断改善移动和 Web 端的开发体验,同时也正在将桌面端 ...
- 智慧矿山IT智能运维自动化解决方案
矿山企业是国民经济中的重要组成部分,其资源开发和产业链条中涉及的环节与过程非常繁琐和复杂.随着我国矿山企业规模逐年扩大,为了提高其生产效率和降低其生产成本,信息化.数字化建设成为当下矿山企业发展的重要 ...
- 八字测算api接口数据示例_奥顺八字测算接口分享
八字测算免费api接口,每日开放时间在早上8点到晚上十点,本api接口完全免费,是奥顺居八字测算网程序内部接口,提供本地调用的,现在免费分享出来,仅供测试. 接口名称:八字精批测算api接口示例 接口 ...
- 使用 Debugger 断点 如果打开了断点调试 就会跳转空白页面
<!DOCTYPE html> <html> <header> <title>test</title> </header> &l ...
- google 搜索技巧
size qq.com inurl : size 指定网站 inurl 这个网站的指定内容 filetype 指定搜索的文件类型
- 云原生周刊:2023 年 Java 开发人员可以学习的 25 大技术技能
文章推荐 2023 年 Java 开发人员可以学习的 25 大技术技能 这篇文章为 Java 开发人员提供了 2023 年需要学习的一些重要技能,这些技能涵盖了现代 Java 开发.大数据和人工智能. ...
- 云原生周刊:12 个容易忽略的 Kubernetes 安装错误
文章推荐 12 个容易忽略的 Kubernetes 安装错误 这篇文章总结了 12 个在 Kubernetes 安装过程中容易忽略但却必须注意的错误.这些错误包括: 没有正确安装 kubectl. 没 ...
- 关于sizeof、strlen的理解与辨析以及strlen的模拟实现
关于sizeof.strlen的理解与辨析以及strlen的模拟实现 1. sizeof() sizeof的作用: 计算变量所占内存内存空间大小,单位是字节. 注意事项: ① 首先要明确的一点是:si ...