看病要排队

C++设计一个程序,反映病人到医院看病、排队看医生的过程。 阅读详情

题目:

看病要排队这个是地球人都知道的常识。 
不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,则选择最早来排队的病人。 

现在就请你帮助医院模拟这个看病过程。

Input

输入数据包含多组测试,请处理到文件结束。 
每组数据第一行有一个正整数N(0<N<2000)表示发生事件的数目。 
接下来有N行分别表示发生的事件。 
一共有两种事件: 
1:"IN A B",表示有一个拥有优先级B的病人要求医生A诊治。(0<A<=3,0<B<=10) 
2:"OUT A",表示医生A进行了一次诊治,诊治完毕后,病人出院。(0<A<=3)

Output

对于每个"OUT A"事件,请在一行里面输出被诊治人的编号ID。如果该事件时无病人需要诊治,则输出"EMPTY"。 
诊治人的编号ID的定义为:在一组测试中,"IN A B"事件发生第K次时,进来的病人ID即为K。从1开始编号。 

Sample Input

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

Sample Output

2
EMPTY
3
1
1

 

思路:

优先队列,对优先权进行从大到小进行排列,优先权一样的按照先来后到的顺序排列

代码:

#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
struct node
{
    int k,x;
    bool operator < (const node &a) const
    {
        if(a.x!=x)
            return a.x>x;
        else
            return a.k<k;
    }
};
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int t=1;
        priority_queue<node>q[4];
        struct node now;
        for(int i=0;i<n;i++)
        {
            getchar();
            char s[10];
            int a,b;
            scanf("%s%d",s,&a);
            if(strcmp(s,"IN")==0)
            {
                scanf("%d",&b);
                now.k=t++;
                now.x=b;
                q[a].push(now);
            }
            else
            {
                if(!q[a].empty())
                {
                    now=q[a].top();
                    q[a].pop();
                    printf("%d\n",now.k);
                }
                else
                    printf("EMPTY\n");
            }
        }
    }
    return 0;
}

 

 

排队看病模拟 问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事: (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。 (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。 要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下: (1)排队—— 阅读详情

相关推荐

第7周—项目5 排队看病模拟

问题描述及代码: /* *烟台大学计控学院 *作 者:杨征 *完成日期:2015年10月14日 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。   (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。   要求模拟病人等待就诊这一过

yang66886的博客 653

hdu 1873 hdoj 1873

看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2325    Accepted Submission(s): 905 Problem Description 看病要排队这个是地球人都知道的常识。 不过经过细

sonfree的专栏 1163

c++实现医院排队看病系统

以下是使用C++语言实现医院排队看病系统的示例代码。代码中使用了链表数据结构来存储病人信息,并按照先进先出的顺序排列。具体实现包括病人结构体、链表节点结构体、链表类以及主函数等部分。在主函数中,使用循环来不断读取用户输入,并根据用户输入的指令调用链表类中相应的方法来完成相应的操作。同时,还考虑了一些边界情况,例如链表为空时无法删除病人等。如何实现病人到医院看病,需要排队等候,先到先看。(2)排队过程中的病人可以随时查看自己前面还有多少病人等待看病;(3)系统能提示正在看病的后面一个病人作好准备。

走向CTO的路上... 1572

医院排队

看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,则...

xsjzn的博客 1114

『杭电1873』看病要排队

Problem Description 看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,则选择最早来排队的病人。 现在就请你帮助医院模拟这个看病过程。 I

漠宸离若的博客 747

队列应用-病人看病c++

病人排队看病的应用,是C++写的,是队列的应用,包括排队,就诊,查看队列,结束排队,下班。

排队看病

问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:          (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。          (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。           要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:          (1)排队——

szk1234567890的博客 1154

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

题目1873: 看病要排队

Problem Description 看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的

落日小屋 4862

浪潮服务器ESXI6.7部署实战:手动集成RAID驱动避坑指南

本文详细介绍了在浪潮服务器上部署ESXI6.7时手动集成RAID驱动的完整流程和避坑指南。从驱动获取、解压技巧到封装实战,逐步解决国产服务器常见的驱动缺失问题,特别针对PM8060 RAID卡提供具体解决方案,帮助IT运维人员顺利完成ESXI部署。

weixin_33725722的博客 461

【STM32项目】基于stm32智能鱼缸控制系统的设计与实现(完整工程资料源码)

随着现代化经济的快速发展,物质条件富足的人开始追求精神富足,越来越多的人通过饲养观赏鱼来充实生活、释放压力,但并非所有饲养者都有时间和经验来管理好鱼缸。一种由单片机控制,可实时检测和调节鱼缸环境,可把鱼缸环境实时反映给用户并能被用户远程操控的系统,可以解决养鱼成活率低、耗费时间和精力、参与感不强等诸多难题。

嵌入式技术开发 7351

题目1873 看病要排队

题目1873 看病要排队

sdfsdfytre的博客 272

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

第七周 排队看病问题

/* Copyright (c++)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第七周项目 排队看病 作    者:纪冬雪 完成日期:2015年10月25日 版 本 号:v1.0 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:       (1)病人到达诊室,将病历本交给护士

jdxjdxjdx的博客 608

嵌入式Modbus协议面试题及参考答案

Modbus 协议采用主从模式进行通信,这种模式定义明确,便于在工业环境中实现设备之间的有序数据交互。在主从模式中,存在一个主站(Master)和多个从站(Slave)。主站通常是工业控制系统中的上位机,如 PLC、工控机等,它负责发起通信请求,控制整个通信过程。从站则是各种现场设备,如传感器、执行器等,它们接收主站的请求,并根据请求进行相应的操作,然后将结果返回给主站。主站的主要功能包括:发起数据读取或写入请求、控制通信的时序和流程、处理从站返回的数据。

大模型大数据攻城狮的专栏 2040

使用AI预测彩票的架构思路

彩票是随机的数字游戏,不要过度依赖AI,本文仅供娱乐研究

淘淘小窝 9407

第7周项目5-排队看病模拟

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:马赛 *完成日期:2016年10月9日 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。   (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。   要求模拟

Masaiaa的博客 391

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3644

第7周 项目5-排队看病模拟

/* *文件名称:1.pp *作者:崔从敏 *完成日期:2015年10月16日 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。*/#include #include typedef struct qnode { int data; struct qnode *next; } QNode; /*链队结点类型*/

ap_ple6223的博客 455

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HDU 1873 看病要排队

看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,

DEC_BIN的博客 300

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU 1873 看病要排队(STL ,优先队列,c++)

HDU 1873 看病要排队 题目链接:看病要排队 代码如下: #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<vector> #include<stack> #include<queue> #include<s

谦卑 963

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

第七周 模拟排队看病

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作者:于东林 * 完成日期:2015年11月2日 * 版本号:vc++6.0 * * 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事: *(1)病人到达诊室

ydl197791的博客 465

第七周上机实践—项目5—排队看病模拟

/* *Copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:林莉 *完成日期:2015年10月16日 *版本:v1.0 * *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列

Lin1287的博客 618

看病要排队这个是地球人都知道的常识

看病要排队这个是地球人都知道的常识。不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,则选择最早来排队的病人。现在就请你帮助医院模拟这个看病过程。

一个正在学习C/C++的博主 1218

第七周--排队看病模拟

/* *Copyright (c) 2015 烟台大学计算机与控制工程学院 *All right reserved. *标题:数据结构实践——排队看病模拟 *作者:杨珺 *date:2015年10月13日 *版本:V1.0.1 *操作系统:XP *运行环境:VC6.0 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   

Yangjun19113的博客 952
上一篇: Filthy Rich
下一篇: 圆桌会议
admin__
博客等级 码龄8年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值