[cpp] view plaincopyprint?
/*
* ZOJ_2724.cpp
*
* Created on: 2013年11月7日
* Author: Administrator
*/
#include
#include
#include
#include
using namespace std;
struct MES {
char str[10];
int mes;
int p;
int id;
bool operator<( const MES& b)const {//特别要注意这种写法...
if (p != b.p) {
return p > b.p;
}
return id > b.id;
}
};
int main() {
char s[26];
priority_queue q;//对结构体使用优先队列
MES tmp;
while (scanf("%s", s) != EOF) {
int index = 0;
if (strcmp(s, "PUT") == 0) {
scanf("%s %d %d", tmp.str, &tmp.mes, &tmp.p);
tmp.id = index++;
q.push(tmp);
} else {
if (q.empty()) {
printf("EMPTY QUEUE!\n");
} else {
tmp = q.top();
q.pop();
printf("%s %d\n", tmp.str, tmp.mes);
}
}
}
return 0;
}
阅读(600) | 评论(0) | 转发(0) |