zoj 2724 Windows Message Queue 优先队列

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1724

题目大意:

给出两种操作,GET要求取出当前队首的元素,而PUT会输入名称、值、还有优先值。

思路:

优先队列即可。

水。。

#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
struct data
{
char name[500];
int val,id;
bool operator <(const data&x)const {
return id > x.id;
}
};
int main()
{
char cmd[5];
priority_queue<data> q;
while(~scanf("%s",cmd))
{
if(cmd[0]=='G')
{
if(!q.empty())
{
data temp=q.top();
q.pop();
printf("%s %d\n",temp.name,temp.val);
}
else puts("EMPTY QUEUE!");
}
else
{
data temp;
scanf("%s%d%d",temp.name,&temp.val,&temp.id);
q.push(temp);
}
}
return 0;
}
上一篇:[转]oracle 分析函数over


下一篇:oracle分析函数与over()(转)