题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1873

实现方式就是每个医生一个优先队列,IN进队,OUT出队。
AC代码:

#include <iostream>
#include <queue>
using namespace std;
//2020-08-24 10:55:45   Accepted    1873    156MS   1432K   1202 B  G++
struct node{int id;int rank;node(int d, int r): id(d), rank(r) {}//这块记一下怎么写friend bool operator < (const node& a, const node& b) {if(a.rank == b.rank)return a.id > b.id;return a.rank < b.rank;}
};priority_queue<node> q1, q2, q3;int main() {int n, A, B;string op;while(cin>>n) {int cnt = 0;//清空优先队列while(!q1.empty())  q1.pop();while(!q2.empty()) q2.pop();while(!q3.empty()) q3.pop();for(int i=1; i<=n; i++) {cin>>op;if(op == "IN") {cnt++;cin>>A>>B;  //一拥有优先级B的病人要求医生A诊治if(A == 1)  q1.push(node(cnt, B));else if(A == 2) q2.push(node(cnt, B));else  q3.push(node(cnt, B));}else {cin>>A;if(A == 1) {if(!q1.empty()) {cout<<q1.top().id<<endl;q1.pop(); }elsecout<<"EMPTY"<<endl;}else if(A == 2) {if(!q2.empty()) {cout<<q2.top().id<<endl;q2.pop(); }elsecout<<"EMPTY"<<endl;}else if(A == 3) {if(!q3.empty()) {cout<<q3.top().id<<endl;q3.pop(); }elsecout<<"EMPTY"<<endl;}}}}return 0;
}

HDU 1873 优先队列相关推荐

  1. HDU 1873 优先队列 Java版

    Problem - 1873 (hdu.edu.cn)https://acm.hdu.edu.cn/showproblem.php?pid=1873 创建了三个优先队列,分别代表三个医生,优先队列里添 ...

  2. Java算法_优先队列和PriorityQueue——HDU 1873:看病要排队

    目录 优先队列和PriorityQueue HDU 1873:看病要排队 java.util.Comparator 优先队列和PriorityQueue java.util.PriorityQueue ...

  3. 【HDU 1873 --- 看病要排队】优先队列

    [HDU 1873 --- 看病要排队]优先队列 Description 看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医 ...

  4. HDU 1873 - 看病要排队 ← 优先队列

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=1873 [问题描述] 看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医 ...

  5. 【优先队列】HDU 1873——看病找医生

    来源:点击打开链接 看路径记录的BFS之前,再看一遍优先队列的用法. 优先队列的排序规则可以用运算符重载的方式完成,通常意义下,应该用friend bool operator <进行重载. #i ...

  6. HDU 1873 看病要排队(结构体+优先队列)

    题目: Problem Description 看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病. ...

  7. 【HDU - 1873】 看病要排队(优先队列)

    题干: 看病要排队这个是地球人都知道的常识.  不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病.而看病的人病情有轻重,所以不能根据简单 ...

  8. HDU - 1873 看病要排队(优先队列)

    看病要排队 #include<iostream> #include<queue> using namespace std; struct node {int x;//优先级 i ...

  9. HDU - 1873

    题目连结:[看病要排队(http://acm.hdu.edu.cn/showproblem.php?pid=1873)] 本题是一个优先队列的水题,根据题目需要,我用到了pair(pair的用法可自行 ...

最新文章

  1. 【干货】大数据和人工智能.pdf
  2. php开发自学经典.pdf_PHP从入门到精通(第3版) PDF扫描版[45MB]
  3. java 多线程的使用_Java的多线程1:线程的使用
  4. Django中重定向页面的时候使用命名空间
  5. zigbee 协议栈的时钟和定时器分频
  6. Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
  7. 论文阅读 - Beat Tracking by Dynamic Programming
  8. # 解析bt文件_BT、磁力链这些词语是什么意思?
  9. iphonex价格_正二品:帮你解读IphoneX回收价,为何二手市场iphoneX依旧吃香
  10. 基于ARM的车牌识别技术研究与实现
  11. 机器学习初探(手写数字识别)HOG图片
  12. 怎么自学python-你们都是怎么学 Python 的?
  13. 用firefox保存网页
  14. matlab安装及破解
  15. linux文件系统-文件的写与读
  16. tf SavedModel 保存模型的新方式
  17. 端午百望山爬山活动-金山词霸运营团队活动
  18. 棋牌游戏支付接口H5支付宝微信
  19. Muse UI遇到的坑
  20. # 将日期的符串(Sat Mar 21 08:00:00 CST 2020 )转换为指定字符串日期(yyyy-MM-dd HH:mm:ss)

热门文章

  1. 华为mate40和mate40pro哪个更值得入手-华为mate40和mate40pro的性价比-华为mate40和mate40pro的区别
  2. duilib制作窗体动画效果
  3. 发字的楷书写法图片_成年人要想练字,应该先练楷书还是行书?
  4. 线段树求逆序对(hdu1394Minimum Inversion Number)
  5. 快递单号查询,物流查询
  6. android使用磁场传感器和加速度传感器确定当前朝向(即:方位角),以及常见问题的解决办法
  7. 计算机word保存如何操作,电脑word怎么保存 在电脑上word打字怎么保存
  8. vue的五个小实例解析其基础功能
  9. GNU C++ 智能指针6-- 解析_Sp_counted_inplace类
  10. 关于tv app的一些想法