《ACM程序设计》书 训练题中的S题
来源:互联网 发布:2016全国中小企业数据 编辑:程序博客网 时间:2024/06/09 19:04
题意就是编一个输入输出队列,如果输入PUT,就输入字符串,优先级(数字),一个数字,存起来,如果输入GET,就把优先级最高的输出,优先级相同,则把先输入的输出。如果里面是空的,就输出空的队列。
思路是用自定义结构体存起来,重载小于号,使用优先队列,能让结构体按照优先级排序,然后根据题意输入。
要注意优先队列的使用和重载小于号。
#include<iostream>
#include<cmath>
#include<string>
#include<queue>
using namespace std;
struct que{
string a;
long long b;
long long c;
long long d;
};
priority_queue<que> q;
const bool operator<(const que &xx, const que &yy)
{
if (xx.c!=yy.c)
return xx.c> yy.c;
else return xx.d>yy.d;
}
int main()
{
string t;
long long dd=0,e=1,i,j,n,m,f=1,h=0,x,y=0;
que qu2,qu1;
while (cin>>t)
{ if (t[0]=='P') {
cin>>qu2.a>>qu2.b>>qu2.c;
qu2.d=dd;dd++;
q.push(qu2);
}
else {if (q.empty()) cout<<"EMPTY QUEUE!"<<endl;
else {qu1=q.top();
q.pop();
cout<<qu1.a<<" "<<qu1.b<<endl;
}
}
}
}
- 《ACM程序设计》书 训练题中的S题
- 《ACM程序设计》书 训练题中的Q题
- 《ACM程序设计》书 训练题中的H题
- 《ACM程序设计》书 训练题中的J题
- 《ACM程序设计》书 训练题中的K题
- ACM训练题
- ACM训练题
- 《ACM程序设计》书中题目 S
- 《ACM程序设计》 H题
- 《ACM程序设计》 Z题
- 《ACM程序设计》 B题
- 《ACM程序设计》 P题
- 《ACM程序设计》 Y题
- 《ACM程序设计》 U题
- 《ACM程序设计》 E题
- 《ACM程序设计》 W题
- 《ACM程序设计》 V题
- 《ACM程序设计》 T题
- makefile相关资源
- navicat出现2003错误
- 走进Android Binder机制(驱动篇上)
- sqlserver2005操作XML类型数据
- 递归算法及经典递归例子代码实现
- 《ACM程序设计》书 训练题中的S题
- L2-010. 排座位(并查集)
- 【Raspberry Pi入门系列2】Raspbian/Linux终端常用命令
- mongodb--Profiling慢查询详解
- 韩顺平php开发合集208集-从Html基础到php开发Web QQ实战 共15G
- GreenDao 数据库升级 连接多个DB文件 或者指定不同的model&dao目录
- 初学Redis数据库之基本数据存储以及获取
- java的static块执行时机
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)