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的滑动的窗体从最左移至最右端,你只 ...
随机推荐
- java:线上问题排查常用手段(转)
出处:java:线上问题排查常用手段 一.jmap找出占用内存较大的实例 先给个示例代码: import java.util.ArrayList; import java.util.List; imp ...
- paramiko-ssh-秘钥认证实例
import paramiko private_key = paramiko.RSAKey.from_private_key_file('id_rsa.txt') #创建ssh对象 ssh =para ...
- java8 List对象集合去重
//测试数据 WaterMeter w0 = new WaterMeter(); WaterMeter w1 = new WaterMeter(); WaterMeter w2 = new Water ...
- 进阶Java编程(3)线程的同步与死锁
线程的同步与死锁 1,同步问题引出 在多线程的处理之中,可以利用Runnable描述多个线程操作的资源,而Thread描述每一个线程对象,对于当多个线程访问统一资源的时候如果处理不当就会产生数据的错误 ...
- linux 安装telnet、curl、ifconfig、vim、ping等工具
1.首先执行下面命令更新相关源 apt-get update 2.安装telnet apt-get install telnet 3.安装curl apt-get install curl 4.安装i ...
- 换发型app任性扣费?苹果app订阅任性扣费?怎么办?刚成功
2019年9月18日17:09:27 什么黑猫举报没用 先关闭订阅 账户中心自助申请试试,不通过再进行下面这步 https://getsupport.apple.com/?caller=home&am ...
- vue项目中的登录鉴权
用vue做一个简单的登录鉴权功能. 项目目录结构如下: Login 组件 登录成功后做本地存储和store存储,并进行跳转. Login.vue关键代码: async handleLogin(e) { ...
- Oracle学习笔记:窗口函数
目录 1.测试数据 2.聚合函数+over() 3.partition by子句 4.order by子句 5.序列函数 5.1 分析函数之 ntile 5.2 分析函数之 row_number 5. ...
- webpack配置不同打包配置
生成环境与开发环境打包配置 使用package.json配置npm run开启不同的打包配置 ...webpack基本使用最后一篇博客 在上一篇博客中详细的演示了webpack开启本地服务和热更新,这 ...
- Swift调用微信支付宝SDK(Swift4.0)
1.第一步在程序入口注册微信 (支付宝不需要) func application(_ application: UIApplication, didFinishLaunchingWithOption ...