您的位置:首页 > 产品设计 > UI/UE

zoj 2724 Windows Message Queue 优先队列

2014-02-08 23:47 309 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: