当前位置:网站首页>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;
}
边栏推荐
- How to introduce devsecops into enterprises?
- Intelligent metal detector based on openharmony
- String
- matlab cov函数详解
- DDR4硬件原理图设计详解
- Nuxt//
- 解决readObjectStart: expect { or n, but found N, error found in #1 byte of ...||..., bigger context ..
- 磨礪·聚變|知道創宇移動端官網煥新上線,開啟數字安全之旅!
- Lombok makes ⽤ @data and @builder's pit at the same time. Are you hit?
- Explanation of message passing in DGL
猜你喜欢
DDR4硬件原理图设计详解
紫光展锐全球首个5G R17 IoT NTN卫星物联网上星实测完成
32: Chapter 3: development of pass service: 15: Browser storage media, introduction; (cookie,Session Storage,Local Storage)
九、磁盘管理
COMSOL--三维图形的建立
Modulenotfounderror: no module named 'scratch' ultimate solution
How to make full-color LED display more energy-saving and environmental protection
2022 mobile crane driver examination question bank and simulation examination
Bidirectional RNN and stacked bidirectional RNN
基于OpenHarmony的智能金属探测器
随机推荐
MFC pet store information management system
华为设备配置信道切换业务不中断
力扣(LeetCode)185. 部门工资前三高的所有员工(2022.07.04)
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
OneForAll安装使用
2022 t elevator repair operation certificate examination questions and answers
一次edu证书站的挖掘
Modulenotfounderror: no module named 'scratch' ultimate solution
Summary of websites of app stores / APP markets
sklearn模型整理
数据库三大范式
DDoS attack principle, the phenomenon of being attacked by DDoS
Oneforall installation and use
IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
关于vray 5.2的使用(自研笔记)(二)
Leetcode 185 All employees with the top three highest wages in the Department (July 4, 2022)
修复动漫1K变8K
如何将 DevSecOps 引入企业?
[first release in the whole network] (tips for big tables) sometimes it takes only 1 minute for 2 hours of SQL operation
iframe