当前位置:网站首页>ZCMU--1390: 队列问题(1)
ZCMU--1390: 队列问题(1)
2022-07-05 11:13:00 【小小小Why】
Description
给定一个队列q,队列中的每个元素都有两种属性name和pri。对于队列有3中操作分别为: 1 name pri 代表向队列中添加(name,pri)这个元素。 2 代表输出队列中pri最高的元素的name并将该元素移除队列。 3 代表输出队列中pri最低的元素的name并将该元素移除队列。 假设队列初始为空,且所有元素的name值各不相同,pri值也各不相同。给定若干操作,对于2和3操作输出相应元素的name。
Input
每行输入分别代表一种操作,若输入为0则结束。(1<=name,pri<=10^6)
Output
对于每个2和3操作,输出对应的值。若队列中没有元素则输出0。
Sample Input
2
1 20 14
1 30 3
2
1 10 99
3
2
2
0
Sample Output
0
20
30
10
0
解析:因为会根据 pri 最值来输出 name ,这个用set就很方便,因为set会自动排序存贮,我们就可以迅速的查找队列中的最值,至于输出对应的name,一对一,那么我们用map就十分方便莫!
#include <stdio.h>
#include <map>
#include <set>
using namespace std;
int main()
{
map<int,int>mp;
set<int>st;
int z,a,b;
while(~scanf("%d",&z),z!=0){
if(z==1){ //指令1
scanf("%d%d",&a,&b);
st.insert(b); //存入set中
mp[b]=a; //对应设置name
}else if(z==2){ //指令2
if(st.size()){ //如果不为空
printf("%d\n",mp[*st.rbegin()]);//*st.rbegin()表示最后一个元素值
st.erase(--st.end()); //删除最后一个元素
}else printf("0\n"); //为空输出0
}else{ //指令3
if(st.size()){ //同上
printf("%d\n",mp[*st.begin()]);
st.erase(st.begin());
}else printf("0\n");
}
}
return 0;
}
边栏推荐
- Detailed explanation of DDR4 hardware schematic design
- Oneforall installation and use
- Lombok makes ⽤ @data and @builder's pit at the same time. Are you hit?
- 如何让全彩LED显示屏更加节能环保
- Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022
- Summary of thread and thread synchronization under window
- 技术管理进阶——什么是管理者之体力、脑力、心力
- 技术分享 | 常见接口协议解析
- Codeforces Round #804 (Div. 2)
- 数据库三大范式
猜你喜欢
Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022
Basic testing process of CSDN Software Testing Introduction
DDRx寻址原理
About the use of Vray 5.2 (self research notes) (II)
Go language learning notes - analyze the first program
go语言学习笔记-初识Go语言
7.2每日学习4
LSTM applied to MNIST dataset classification (compared with CNN)
7 大主题、9 位技术大咖!龙蜥大讲堂7月硬核直播预告抢先看,明天见
2022 t elevator repair operation certificate examination questions and answers
随机推荐
websocket
Golang application topic - channel
数据库三大范式
Ffmpeg calls avformat_ open_ Error -22 returned during input (invalid argument)
四部门:从即日起至10月底开展燃气安全“百日行动”
Operation of simulated examination platform of special operation certificate examination question bank for safety production management personnel of hazardous chemical production units in 2022
如何通俗理解超级浏览器?可以用于哪些场景?有哪些品牌?
Lombok 同时使⽤@Data和@Builder 的坑,你中招没?
2022 chemical automation control instrument examination questions and online simulation examination
[TCP] TCP connection status JSON output on the server
About the use of Vray 5.2 (self research notes)
Nuxt//
SSL证书错误怎么办?浏览器常见SSL证书报错解决办法
DDoS attack principle, the phenomenon of being attacked by DDoS
AUTOCAD——遮罩命令、如何使用CAD对图纸进行局部放大
技术分享 | 常见接口协议解析
DDR4的特性与电气参数
【Oracle】使用DataGrip连接Oracle数据库
C # to obtain the filtered or sorted data of the GridView table in devaexpress
Three paradigms of database