http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/G
一个优先队列的题目,昨天刚做了一个用优先队列(stl)+bfs的题目,今天看到这个题瞬间1Y ou yeah!
#include<iostream>
#include<cstring>
#include<cstdio>
#include <queue>
using namespace std;
struct node
{
char s[100];
int x,y;
friend bool operator < (const node&a,const node &b)
{
if(a.y!=b.y)
return a.y>b.y;
}
};
priority_queue<node> Q;
int main()
{
//freopen("d.txt","r",stdin);
char op[10];
while(scanf("%s",op)!=EOF)
{
if(op[0]=='G')
{
if(!Q.empty())
{
node t=Q.top();
Q.pop();
printf("%s %d\n",t.s,t.x);
}
else
{
printf("EMPTY QUEUE!\n");
}
}
else
{
node p;
scanf("%s%d%d",p.s,&p.x,&p.y);
Q.push(p);
}
}
return 0;
}