HDU 1509 -- Windows Message Queue(优先队列)
来源:互联网 发布:爱知日语怎么样 编辑:程序博客网 时间:2024/05/29 02:29
题目大意:只有一组输入数据,每一行有一个请求组"GET" 或者 "PUT",当是”GET“时代表输出一条信息,包括信息的名字和它对应的参数,当是”PUT“时代表输入一条信息,输入信息的名字,参数及优先级;输出时的顺序判断方式是,当两个信息的优先级不同时,优先级小的先输出,如果两个信息的优先级相同,则按照他们进入队列的时间先后输出;
一个小顶堆优先队列的模板题。
代码实现:
#include<cstdio>#include<queue>using namespace std;struct Node{ int num; int p; int order; char name[50]; Node(int a=0,int b=0,int c=0):num(a),p(b),order(c){}};bool operator<(Node a,Node b){ if(a.p==b.p) return a.order>b.order; return a.p>b.p;}int main(){ char s[5]; Node ss; priority_queue<Node>q; int cnt=0; while(~scanf("%s",s)){ if(s[0]=='P'){ cnt++; scanf("%s%d%d",&ss.name,&ss.num,&ss.p); ss.order=cnt; q.push(ss); } if(s[0]=='G'){ if(!q.empty()){ ss=q.top(); q.pop(); printf("%s %d\n",ss.name,ss.num); } else printf("EMPTY QUEUE!\n"); } }}
0 0
- hdu 1509 Windows Message Queue 优先队列
- hdu 1509 Windows Message Queue(优先队列)
- HDU-1509-Windows Message Queue(优先队列)
- HDU 1509 Windows Message Queue 【优先队列】
- hdu-1509 Windows Message Queue(优先队列)
- HDU 1509:Windows Message Queue【优先队列】
- HDU 1509 Windows Message Queue(优先队列)
- ZOJ 2724/HDU 1509 Windows Message Queue(优先队列)
- hdu 1509 Windows Message Queue(优先队列)
- HDU 1509 -- Windows Message Queue(优先队列)
- HDU 1509 Windows Message Queue(优先队列)
- HDU 1509 Windows Message Queue(优先队列)
- hdu 1509 Windows Message Queue (优先队列)
- HDU 1509 Windows Message Queue (优先队列)
- HDU 1509 Windows Message Queue(优先队列)
- hdu 杭电1509 Windows Message Queue【优先队列】
- hdoj 1509 Windows Message Queue 优先队列
- hdoj 1509 Windows Message Queue(优先队列)
- struts2整合json使用
- JavaScript常用脚本集锦5
- JavaScript常用脚本集锦6
- JavaScript常用脚本集锦7
- JavaScript常用脚本集锦8
- HDU 1509 -- Windows Message Queue(优先队列)
- How to avoid using() mistake in C#?
- JavaScript编程注意事项、技巧大全
- js实现千位分隔符
- Variance Shadow Mapping
- JS正则表达式元字符
- 华为机试—32位处理器上数值转换
- js计数器方法setInterval()、clearInterval()、setTimeout()和clearTimeout()
- 利用“远程教育资源”实施物理教学的教学经验