zoj 2724 Windows Message Queue
2012-11-13 20:02
405 查看
简单题,使用stl的优先队列,
需要自己重写比较函数,如果优先级一样,就比较入queue的时间序号
需要自己重写比较函数,如果优先级一样,就比较入queue的时间序号
#include <iostream> #include <cstdio> #include <queue> #include <cstring> using namespace std; struct node { char msg[33]; int parm; int value; int ind; }; bool operator<(const node & lhs,const node & rhs) { return (lhs.value>rhs.value)||(lhs.value==rhs.value&&lhs.ind>rhs.ind); } int main() { char command[10]; priority_queue<node> result; while(!result.empty()) result.pop(); int sum=0; while(scanf("%s",command)==1) { if (strcmp(command,"GET")==0) { if (result.empty()) { printf("EMPTY QUEUE!\n"); } else { node answer = result.top(); printf("%s %d\n",answer.msg,answer.parm); result.pop(); } } else { node tmp; scanf("%s %d %d",tmp.msg,&tmp.parm,&tmp.value); tmp.ind = sum++; result.push(tmp); } } return 0; }
相关文章推荐
- zoj 2724 windows message Queue
- zoj - 2724 - Windows Message Queue
- ZOJ 2724 Windows Message Queue(二叉堆or优先队列)
- zoj 2724 Windows Message Queue(使用priority_queue容器模拟消息队列)
- zoj - 2724 - Windows Message Queue
- ZOJ2724_Windows Message Queue(STL/优先队列)
- ZOJ 2724 Windows Message Queue (优先级队列,水题,自己动手写了个最小堆)
- ZOJ 2724 Windows Message Queue 堆
- ZOJ - 2724 Windows Message Queue (优先队列)
- ZOJ 2724 Windows Message Queue(优先队列)
- ZOJ-2724-Windows Message Queue
- ZOJ 2724 Windows Message Queue(二叉堆||优先队列)
- ZOJ-2724-Windows Message Queue
- ZOJ2724_Windows Message Queue(STL/优先队列)
- ZOJ 2724/HDU 1509 Windows Message Queue(优先队列)
- ZOJ - 2724 Windows Message Queue——优先队列
- zoj2724-Windows Message Queue
- zoj-2724 Windows Message Queue(二叉堆&&优先队列)
- ZOJ 2724Windows Message Queue
- ZOJ 2724 Windows Message Queue