hduProblem-1873优先级队列的应用
2017-02-20 00:36
483 查看
#include <bits/stdc++.h> using namespace std; //结构体里面的成员,在默认情况下均是 public 的权限 struct node { int id; int pri; friend bool operator<(node x,node y) //重载运算符 (friend bool operator()(node x,node y)这样不对) { if(x.pri==y.pri) return x.id>y.id; //">"表示在优先级相等的情况下,越来越大排序(即小的id在前) else return x.pri<y.pri;//"<"表示在优先级不等的情况下,越来越小排序(即大的pri在前) } }; int n,a,b; char str[5]; int main() { while(scanf("%d",&n)!=EOF) //等价于while(~scanf("%d",&n) { int num=1; priority_queue<node> doctor[4]; //类似数组doctor[0],doctor[1],doctor[2](每一个都是优先级队列容器) while(n--) //缺省了两个参数,仿函数默认用<比较排序元素 { scanf("%s",str); if(str[0]=='I') { scanf("%d %d",&a,&b); node temp; temp.pri=b;temp.id=num;num++; doctor[a].push(temp); } else { scanf("%d",&a); if(!doctor[a].empty()) { node temp=doctor[a].top(); printf("%d\n",temp.id); doctor[a].pop(); } else { puts("EMPTY"); } } } } return 0; }
相关文章推荐
- hdu 1873 看病要排队(优先级队列)
- HDU 1873 看病要排队(优先队列的简单应用)
- hdu 1873 优先级队列
- hdu 1053 哈夫曼树 优先级队列
- hdu 1242 优先级队列 bfs
- 关于STL优先级队列的一些应用
- 欧拉回路的应用&&http://acm.hdu.edu.cn/showproblem.php?pid=3018
- hdu 1023 Train Problem II(卡特兰数的应用)出栈序列的统计
- 【优先队列】HDU 1873——看病找医生
- priority_queue 优先级队列的基本应用和重载问题
- HDU 4006 The kth great number 堆/优先级队列/线段树
- Uva11997 优先级队列的应用 多路合并问题
- hdu1022 Train Problem I(STL 栈的应用)
- HDU 2993 MAX Average Problem(斜率优化入门+单调队列)
- hdu1871(优先级队列)
- hdu 1059 优先级队列
- http://acm.hdu.edu.cn/showproblem.php?pid=1232&&并查集应用
- hdu 4006 The kth great number 优先级队列
- 堆排序的应用-优先级队列
- 优先级队列几个应用详解