当前位置:网站首页>Zcmu--1390: queue problem (1)
Zcmu--1390: queue problem (1)
2022-07-05 11:17:00 【Little why】
Description
Given a queue q, Each element in the queue has two attributes name and pri. For queues 3 The operations in are : 1 name pri Represents adding... To the queue (name,pri) This element . 2 Represents in the output queue pri The highest element name And remove the element from the queue . 3 Represents in the output queue pri Of the lowest element name And remove the element from the queue . Suppose the queue is initially empty , And all elements name The values are different ,pri Values also vary . Given a number of operations , about 2 and 3 The operation outputs the name.
Input
Each line of input represents an operation , If the input is 0 End .(1<=name,pri<=10^6)
Output
For each 2 and 3 operation , Output the corresponding value . If there are no elements in the queue, output 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
analysis : Because it will be based on pri Maximum value to output name , This one uses set It's very convenient , because set It will automatically sort and store , We can quickly find the most value in the queue , As for the output corresponding name, one-on-one , So we use map It's very convenient !
#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){ // Instructions 1
scanf("%d%d",&a,&b);
st.insert(b); // Deposit in set in
mp[b]=a; // Corresponding settings name
}else if(z==2){ // Instructions 2
if(st.size()){ // If it's not empty
printf("%d\n",mp[*st.rbegin()]);//*st.rbegin() Represents the last element value
st.erase(--st.end()); // Delete the last element
}else printf("0\n"); // Null output 0
}else{ // Instructions 3
if(st.size()){ // ditto
printf("%d\n",mp[*st.begin()]);
st.erase(st.begin());
}else printf("0\n");
}
}
return 0;
}
边栏推荐
- Detailed explanation of MATLAB cov function
- AUTOCAD——遮罩命令、如何使用CAD对图纸进行局部放大
- How to make full-color LED display more energy-saving and environmental protection
- Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
- Process control
- COMSOL--三维随便画--扫掠
- [SWT component] content scrolledcomposite
- BOM//
- SSL证书错误怎么办?浏览器常见SSL证书报错解决办法
- sklearn模型整理
猜你喜欢
Operation of simulated examination platform of special operation certificate examination question bank for safety production management personnel of hazardous chemical production units in 2022
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
How to introduce devsecops into enterprises?
OneForAll安装使用
[JS learning notes 54] BFC mode
LSTM applied to MNIST dataset classification (compared with CNN)
COMSOL--三维图形的建立
COMSOL--建立几何模型---二维图形的建立
九、磁盘管理
7 大主题、9 位技术大咖!龙蜥大讲堂7月硬核直播预告抢先看,明天见
随机推荐
Redis如何实现多可用区?
[advertising system] incremental training & feature access / feature elimination
四部门:从即日起至10月底开展燃气安全“百日行动”
DDR4硬件原理图设计详解
go语言学习笔记-初识Go语言
Advanced scaffold development
Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022
Home office things community essay
Summary of websites of app stores / APP markets
【爬虫】wasm遇到的bug
Bracket matching problem (STL)
How to introduce devsecops into enterprises?
管理多个Instagram帐户防关联小技巧大分享
comsol--三维图形随便画----回转
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
关于 “原型” 的那些事你真的理解了吗?【上篇】
Some understandings of heterogeneous graphs in DGL and the usage of heterogeneous graph convolution heterographconv
IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
LSTM applied to MNIST dataset classification (compared with CNN)
紫光展锐全球首个5G R17 IoT NTN卫星物联网上星实测完成