之所以把这道题目贴出来的原因,是因为真的有几个地方要注意的

题目1108:堆栈的使用

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:10763

解决:3119

题目描述:

堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。

输入:

对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是'P’或者'O’或者'A’;如果是'P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是'O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,忽略本次操作;如果是'A’,表示询问当前栈顶的值,如果当时栈为空,则输出'E'。堆栈开始为空。

输出:

对于每组测试数据,根据其中的命令字符来处理堆栈;并对所有的'A’操作,输出当时栈顶的值,每个占据一行,如果当时栈为空,则输出'E’。当每组测试数据完成后,输出一个空行。

样例输入:
3
A
P 5
A
4
P 3
P 6
O
A
0
样例输出:
E
53
来源:
2011年吉林大学计算机研究生机试真题
首先注意的是这道题题目说执行‘O’时若为空则不用考虑,这时候一定要判断一下他是否为空
另外这道题用cin,cout才过,用scanf,printf竟然时间超限
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<stack>
using namespace std;
int main()
{int t;while(cin >> t&&t){stack<int>q;while(t--){char c;cin >> c;if(c=='P'){int a;cin >> a;q.push(a);}if(c=='O'){if(!q.empty())//这里一定要判断是否为空q.pop();}if(c=='A'){if(q.empty())cout << "E" << endl;else cout << q.top() << endl;}}cout << endl;}return 0;
}

转载于:https://www.cnblogs.com/l609929321/p/6550544.html

JOBDU 1108 堆栈的使用相关推荐

  1. Go 学习笔记(72)— Go 第三方库之 pkg/errors 带堆栈的错误处理

    包 github.com/pkg/errors 让开发人员很容易在 error 错误信息上带上堆栈信息,可以更快更准确定位错误,例如行号等信息. 如果项目代码比较复杂,且经常需要追踪 Bug,建议使用 ...

  2. 堆栈,数据,文本,heap,bss,text data,stack

    堆栈,数据,文本,heap,bss,text data,stack text data bss stack heap 段 根据APUE,程序分为下面的段:.text, data (initialize ...

  3. 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈

    用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...

  4. VTA:深度学习加速器堆栈

    VTA:深度学习加速器堆栈 多功能Tensor加速器(VTA)是一个开放的,通用的,可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计VTA来展示主流深度学习加速器的最显着和共同的特征.T ...

  5. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  6. 1108. Defanging an IP Address

    1108. Defanging an IP Address 题目描述 Example 1: Input: address = "1.1.1.1" Output: "1[. ...

  7. 工作经验:Java 系统记录调用日志,并且记录错误堆栈

    前言:现在有一个系统,主要是为了给其他系统提供数据查询接口的,这个系统上线不会轻易更新,更不会跟随业务系统的更新而更新(这也是有一个数据查询接口系统的原因,解耦).这时,这个系统就需要有一定的方便的线 ...

  8. 【转】堆栈和托管堆 c#

    原文地址:http://blog.csdn.net/baoxuetianxia/archive/2008/11/04/3218913.aspx 首先堆栈和堆(托管堆)都在进程的虚拟内存中.(在32位处 ...

  9. ip设置 kali 重置_在 Windows 系统中如何重置 TCP/IP 协议堆栈修复网络连接问题

    Internet 在 TCP/IP 协议上工作,如果 TCP/IP 协议堆栈在 Windows 或任何其他操作系统(例如 Linux 或 MacOS)中无法正常工作,则您的 Internet 连接会出 ...

  10. mysql hang_mysql夯hang死堆栈采集工具

    这里我们的场景是mysql client已经无法登陆,无法执行sql. 基本思路是打出堆栈来分析 此时首先怀疑mysql内部发生了死锁 1. 使用pstack打出堆栈,会有一定性能影响 yum ins ...

最新文章

  1. varnishtop中文man page
  2. HDLBits 系列(26)独热码有限状态机实现的两种方式
  3. p2p网络测试工具_自媒体 IPFS官方升级DHT方案,提升网络整体性能
  4. UOJ#370. 【UR #17】滑稽树上滑稽果 动态规划
  5. PostGIS_导入shp格式的数据
  6. 什么是CAS机制?(进阶篇)
  7. matlab蚁群算法代码,蚁群算法的matlab实现
  8. 编程加速服务器_英特尔:将可编程加速进行到底
  9. 算法学习:最短路径SPFA算法
  10. Jenkins配置Publish Junit test result report(转)
  11. 迎接专业音频世界的AoIP时代
  12. 矩阵键盘消抖 c语言,按键消抖,矩阵键盘原理和矩阵键盘的仿真模型
  13. java随机点名_javascript实现的一个随机点名功能
  14. itunes未能连接到iphone软件更新服务器,iTunes无法联系iphone软件更新服务器 不可连接解决方法...
  15. nginx配置多个一级域名https访问的配置
  16. Java 编程要点之并发(Concurrency)详解
  17. SBG Ellipse2最强替代型号推荐?AHRS INS/GNSS
  18. 跑步耳机哪种好,适合运动佩戴的蓝牙耳机分享
  19. 为什么ASIC的频率可以达到GHz,而FPGA只能达到几百MHz?
  20. 基于python的豆瓣FM(终端命令行界面)

热门文章

  1. atitit.md5算法的原理 与 总结
  2. atitit.session的原理以及设计 java php实现的异同
  3. atitit.gui界面纵向居中总结
  4. paip.php eclipse output echo 乱码
  5. PAIP HTML的调试与分析工具
  6. PAip.英文翻译引擎在项目开发上的作用
  7. 云计算时代的DCI技术
  8. 业务链路升级中如何做数据洞察?
  9. 【优化覆盖】基于matlab改进的鲸鱼算法求解无线传感器WSN覆盖优化问题【含Matlab源码 XYQMDXP001期】
  10. 【优化调度】基于matlab粒子群算法求解水电厂优化调度购电最小问题【含Matlab源码 1234期】