Codevs 队列练习 合并版
3185 队列练习 1
给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素。 操作解释:1表示入队,2表示出队
N(操作个数)
N个操作(如果是入队则后面还会有一个入队元素)
具体见样例(输入保证队空时不会出队)
最终队头元素,若最终队空,输出”impossible!”(不含引号)
3
1 2
1 9
2
9
对于100%的数据 N≤1000 元素均为正整数且小于等于100
#include<iostream>
using namespace std;
int a[],n;
int main()
{
int x,y,head=,tail=;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>y;
if(y==)
{
cin>>x;a[tail]=x;
tail++;
}
if(y==)
{
head++;
}
}
if(head==tail) cout<<"impossible!";
else cout<<a[head];
return ;
}
3186 队列练习 2
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold
(此题与队列练习1相比改了2处:1加强了数据 2不保证队空时不会出队)
给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请
输出最终的队头元素。 操作解释:1表示入队,2表示出队
N(操作个数)
N个操作(如果是入队则后面还会有一个入队元素)
具体见样例(输入保证队空时不会出队)
最终队头元素,若最终队空,或队空时有出队操作,输出”impossible!”(不含引号)
3
1 2
2
2
impossible!
对于100%的数据 N≤100000 元素均为正整数且小于等于10^8
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[],n;
int main()
{
int x,y,head=,tail=;
cin>>n;
for(int i=;i<=n;i++)
{
scanf("%d",&y);
if(y==)
{
scanf("%d",&x);
a[tail]=x;
tail++;
}
if(y==)
{
head++;
}
if(head>tail) {
printf("impossible!\n");
return ;
}
}
if(head>tail) {
printf("impossible!\n");
}
else
printf("%d\n",a[head]);
return ;
}
3187 队列练习 3
时间限制: 1 s空间限制: 128000 KB 题目等级 : 钻石 Diamond
比起第一题,本题加了另外一个操作,访问队头元素(编号3,保证访问队头元素时或出队时队不为空),现在给出这N此操作,输出结果。
N
N次操作(1入队 2出队 3访问队头)
K行(K为输入中询问的个数)每次的结果
6
1 7
3
2
1 9
1 7
3
7
9
对于50%的数据 N≤1000 入队元素≤200
对于100%的数据 N≤100000入队元素均为正整数且小于等于10^4
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[],n;
int main()
{
int x,y,head=,tail=;
cin>>n;
for(int i=;i<=n;i++)
{
scanf("%d",&y);
if(y==)
{
scanf("%d",&x);
a[tail]=x;
tail++;
}
if(y==)
{
head++;
}
if(y==)
{
printf("%d\n",a[head]);
}
} return ;
}
Codevs 队列练习 合并版的更多相关文章
- 数据结构之队列(Python 版)
数据结构之队列(Python 版) 队列的特点:先进先出(FIFO) 使用链表技术实现 使用单链表技术,在表首尾两端分别加入指针,就很容易实现队列类. 使用顺序表list实现 # 队列类的实现 cla ...
- 用JS描述的数据结构及算法表示——栈和队列(基础版)
前言:找了上课时数据结构的教程来看,但是用的语言是c++,所以具体实现在网上搜大神的博客来看,我看到的大神们的博客都写得特别好,不止讲了最基本的思想和算法实现,更多的是侧重于实例运用,一边看一边在心里 ...
- 清华大学慕课 (mooc) 数据结构-邓俊辉-讲义-合并版
邓公的数据结构一直好评如潮,可惜我如今才开始学习它.QAQ 昨天,<数据结构 (2020 春)>的讲义已经推到清华大学云盘上了.苦于 10 拼页的打印版不易在 PC 上阅读(手机上更是如此 ...
- 深入浅出 消息队列 ActiveMQ------增强版
本小节我们将讲解Apache开源下的ActiveMQ,而ActiveMQ是JMS的一个具体实现.JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于 ...
- 剑指offer第二版面试题8:用两个栈实现队列(JAVA版)
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能. 分析: 我们通过一个具体的例子来分析 ...
- LIS(单调队列优化 C++ 版)(施工ing)
#include <iostream> using namespace std; #include <cstdio> ; ,x,stack[MaxN]; int main(){ ...
- AC日记——营业额统计 codevs 1296 (splay版)
营业额统计 思路: 每次,插入一个点: 然后找前驱后继: 来,上代码: #include <cmath> #include <cstdio> #include <iost ...
- Araxis Merge Professional v2014.4565 特别版 | 文件比较合并
http://www.ttrar.com/html/AraxisMerge.html Araxis Merge 是一个可视化的文件比较.合并和同步的软件,能够方便的被软件工程师和 web 站点开发者使 ...
- 两个队列+k叉哈夫曼树 HDU 5884
// 两个队列+k叉哈夫曼树 HDU 5884 // camp题解: // 题意:nn个有序序列的归并排序.每次可以选择不超过kk个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过TT, ...
随机推荐
- js里面Object的一些方法
1.Object.freeze() 阻止修改现有属性的特性和值,并阻止添加新属性两种用法:Object.freeze( { } ) 和 Object.freeze( object ) <scri ...
- ChromiumWebBrowser禁止鼠标右键和拖动
在屏蔽之前先查看namespace CefSharp.WinForms内的代码 public class ChromiumWebBrowser : Control, IWebBrowserIntern ...
- python3 进程与线程
1.进程定义 狭义的定义: 进程是正在运行的程序的实例. 广义的定义:进程是一个具有 一定独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它 ...
- python 字符与字节 json序列和反序列及支持的类型
b = b"demo" s = "demo" # 字符串转字节 s = bytes(s, encoding = "utf8") s = st ...
- largest rectangle in histogram leetcode
Given n non-negative integers representing the histogram's bar height where the width of each bar is ...
- Ubuntu下编辑并编译运行c++程序
一.使用vim编辑c++代码: vim hello.cpp 输入如下代码: #include <iostream> using namespace std; int main() { co ...
- 关于Java的三种普通排序
首先要知道是哪几种排序 这里我们所说的是 冒泡排序,选择排序以及插入排序 然后要理解大概的排序速度 : 插入<选择<冒泡 下面是代码 大家可以拷贝自己在java环境里运行运行! publi ...
- iOS开发基础知识
1:App跳转至系统Settings 跳转在IOS8以上跟以下是有区别的,如果是IOS8以上可以如下设置: NSURL *url = [NSURL URLWithString:UIApplicatio ...
- java 自动拆箱 自动装箱
自动装箱的定义就是 基本数据类型赋值给包装类型, 拆箱则相反. Integer integer = 122; // 自动装箱 int num = integer; //自动拆箱 想看一下源码是怎么 ...
- 生成 Let's Encrypt 免费https证书
1.打开 SSL For Free 官网:https://www.sslforfree.com/ 2.在输入框内输入你要申请证书的域名,输入完点击 Create Free SSL Certificat ...