codevs 3185-3187 队列练习x
给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素。 操作解释:1表示入队,2表示出队
N(操作个数)
N个操作(如果是入队则后面还会有一个入队元素)
具体见样例(输入保证队空时不会出队)
输出描述
Output Description
最终队头元素,若最终队空,输出”impossible!”(不含引号)
样例输入
Sample Input
3
1 2
1 9
2
样例输出
Sample Output
9
数据范围及提示
Data Size & Hint
对于100%的数据 N≤1000 元素均为正整数且小于等于100
分类标签 Tags 点此展开
#include<cstdio>
#include<iostream> using namespace std; int n,top=,s=,h=;
int a[]; void pop()
{
int v;
scanf("%d",&v);
a[h++]=v;
} void push()
{
top++;
} int main()
{
int p;
scanf("%d",&n);
for(int i=;i<=n;++i)
{
scanf("%d",&p);
if(p==)
{
s++;
pop();
}
if(p==)
{
s--;
push();
}
}
if(s<=)
{
printf("impossible!");
}
else printf("%d",a[top]);
return ;
}
(此题与队列练习1相比改了2处:1加强了数据 2不保证队空时不会出队)
给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请
输出最终的队头元素。 操作解释:1表示入队,2表示出队
输入描述
Input Description
N(操作个数)
N个操作(如果是入队则后面还会有一个入队元素)
具体见样例(输入保证队空时不会出队)
输出描述
Output Description
最终队头元素,若最终队空,或队空时有出队操作,输出”impossible!”(不含引号)
样例输入
Sample Input
3
1 2
2
2
样例输出
Sample Output
impossible!
数据范围及提示
Data Size & Hint
对于100%的数据 N≤100000 元素均为正整数且小于等于10^8
分类标签
Tags
点此展开
#include<cstdio>
#include<iostream> using namespace std; int n,top=0,s=0,h=0;
int a[111111];
bool b=0; void pop()
{
int v;
scanf("%d",&v);
a[h++]=v;
} void push()
{
if(top<h)
top++;
else b=1;
} int main()
{
int p;
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
scanf("%d",&p);
if(p==1)
{
s++;
pop();
}
if(p==2)
{
s--;
push();
if(b)
{
printf("impossible!");
return 0;
}
} }
if(s<=0)
{
printf("impossible!");
}
else printf("%d",a[top]);
return 0;
}
3187x
比起第一题,本题加了另外一个操作,访问队头元素(编号3,保证访问队头元素时或出队时队不为空),现在给出这N此操作,输出结果。
N
N次操作(1入队 2出队 3访问队头)
输出描述
Output Description
K行(K为输入中询问的个数)每次的结果
样例输入
Sample Input
6
1 7
3
2
1 9
1 7
3
样例输出
Sample Output
7
9
数据范围及提示
Data Size & Hint
对于50%的数据 N≤1000 入队元素≤200
对于100%的数据 N≤100000入队元素均为正整数且小于等于10^4
分类标签
Tags
点此展开
#include<cstdio>
#include<iostream> using namespace std; int n,top=,h=;
int a[]; void pop()
{
int v;
scanf("%d",&v);
a[h]=v;h++;
if(h==)
{
a[top]=v;
}
} void push()
{
top++;
} int main()
{
int p;
scanf("%d",&n);
for(int i=;i<=n;++i)
{
scanf("%d",&p);
if(p==)
{
pop();
}
if(p==)
{
push();
}
if(p==)
{
printf("%d\n",a[top]);
}
}
return ;
}
codevs 3185-3187 队列练习x的更多相关文章
- codevs 3185 队列练习1
题目描述 Description 给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素. 操作解释:1表示入队,2表示出队 输入描述 Input Description ...
- codevs 3185 队列练习 1
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最 ...
- Codevs 队列练习 合并版
3185 队列练习 1 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一个队列(初始为空),只有两种操作入队和出队,现给出这 ...
- T3185 队列练习1 codevs
http://codevs.cn/problem/3185/ 题目描述 Description 给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素. 操作解释:1表示 ...
- DP+单调队列 codevs 1748 瑰丽华尔兹(还不是很懂具体的代码实现)
codevs 1748 瑰丽华尔兹 2005年NOI全国竞赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述 Descripti ...
- T3187 队列练习3 codevs
http://codevs.cn/problem/3187/ 题目描述 Description 比起第一题,本题加了另外一个操作,访问队头元素(编号3,保证访问队头元素时或出队时队不为空),现在给出这 ...
- T3186 队列练习2 codevs
http://codevs.cn/problem/3186/ 题目描述 Description (此题与队列练习1相比改了2处:1加强了数据 2不保证队空时不会出队)给定一个队列(初始为空),只有两种 ...
- codevs 3186 队列练习2
3186 队列练习 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description (此题与队列练习1相比改了2处:1加 ...
- Codevs 4373 窗口(线段树 单调队列 st表)
4373 窗口 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description 给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只 ...
随机推荐
- JS中的继承(上)
JS中的继承(上) 学过java或者c#之类语言的同学,应该会对js的继承感到很困惑--不要问我怎么知道的,js的继承主要是基于原型(prototype)的,对js的原型感兴趣的同学,可以了解一下我之 ...
- Jmeter之逻辑控制器/定时器
Jmeter逻辑控制器 更新中 线程组->添加->逻辑控制器->XX控制器 1.仅一次控制器 使用场景:线程数为1,登录1次,循环浏览N次. 如果,登录账号参数化,线程数为M时,登录 ...
- VirtualBox网络之仅主机(Host-Only)网络
https://blog.csdn.net/dkfajsldfsdfsd/article/details/79441874
- lsof---列出当前系统打开的文件信息
lsof---list open file,一个列出当前系统打开文件的工具 1.lsof查找原理 在Linux系统中,系统为了方便管理进程,会在/proc下为每一个运行中的进程创建一个目录,目录名就是 ...
- python 小数精度控制
可以用:round(数值,保留小数位数) 详情参考 https://www.cnblogs.com/herbert/p/3402245.html
- 深入理解hadoop之排序
MapReduce的排序是默认按照Key排序的,也就是说输出的时候,key会按照大小或字典顺序来输出,比如一个简单的wordcount,出现的结果也会是左侧的字母按照字典顺序排列.下面我们主要聊聊面试 ...
- 使用 “Unicode 字符集 ” 使用错误,应该使用 “使用多字节字符集”
“void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char ...
- vue入门:(模板语法与指令)
vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据.通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用 ...
- GitHub使用--01
1.Git下载与安装 Git网站下载地址https://git-scm.com/downloads 2.本地Git使用 在存储代码仓库的文件夹下右键 git bash here 初始化仓库 git i ...
- Rsyslog服务器的安装与配置
一.Rsyslog服务器的安装与配置 1.清空iptabels, 关闭selinux避免安装过中报错 清空iptables iptables -F service iptables save 关闭se ...