P2186 小Z的函数栈
有点恶心的模拟(代码写整齐一点不就好了)
以下情况算错:
1.运行中有数的绝对值大于1000000000
2.除以和取模的时候第一个数为0
3.取栈顶元素时栈内元素不够
上代码
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<stack> #define G if(top==0) { flag=1; break; }//取模和除以的时候第一个数等于0 using namespace std; stack<long long>s; ,p,n,y[]; ],a; ) return false; return true; }//栈内元素是否少于一个 ) return false; return true; }//栈内元素是否少于两个 void Do() { s.pop(); b=s.top(); s.pop(); } void Clear() { if(s.size()) s.pop(); } void f(long long x) { Clear(); s.push(x); flag=;//flag=1相当于错误 ;i<=m;i++)//进行每一个操作 { a=w[i]; if(s.size()) top=s.top(); //压行大法好 if(a=="END") break; if(a=="NUM") s.push(y[i]); if(a=="POP"&&E1()) s.pop(); if(a=="INV"&&E1()) { s.pop(); s.push(-top); } if(a=="DUP"&&E1()) s.push(top); if(a=="SWP"&&E2()) { Do(); s.push(top); s.push(b); } if(a=="ADD"&&E2()) { Do(); s.push(top+b); E2(); } if(a=="SUB"&&E2()) { Do(); s.push(b-top); E2(); } if(a=="MUL"&&E2()) { Do(); s.push(b*top); E2(); } if(a=="DIV"&&E2()) { Do(); G; s.push(b/top); E2(); } if(a=="MOD"&&E2()) { Do(); G; s.push(b%top); E2(); } ) { flag=; break; } } ||flag) printf("ERROR\n");//错误 else printf("%lld\n",s.top()); } int main() { while(cin>>w[++m])//读入 { if(w[m]=="END") break; if(w[m]=="NUM") { scanf("%lld",&y[m]); } } scanf("%lld",&n); ;i<=n;i++) { scanf("%lld",&p); f(p); } ; }
P2186 小Z的函数栈的更多相关文章
- P2186 小Z的栈函数
P2186 小Z的栈函数 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: NUM X:栈顶放入X. POP:抛弃栈顶元素. INV:将栈顶 ...
- [洛谷P2186] 小Z的栈函数
题目链接: 传送门 题目分析: 大模拟,先得存操作,然后再处理每个数-- 有一个小优化,在处理操作的时候顺便判一下最后栈里是不是有且仅有一个数,但A完了才想起来,所以就算了-- 总之就是个模拟题--没 ...
- 洛谷 2186 小Z的栈函数
https://www.luogu.org/problem/show?pid=2186 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: N ...
- 小Z爱序列(NOIP信(sang)心(bin)赛)From FallDream(粗制单调队列&单调栈的算法解析)
原题: 小Z最擅长解决序列问题啦,什么最长公共上升然后下降然后上升的子序列,小Z都是轻松解决的呢. 但是小Z不擅长出序列问题啊,所以它给了你一道签到题. 给定一个n个数的序列ai,你要求出满足下述条件 ...
- 【20170521校内模拟赛】热爱生活的小Z
学长FallDream所出的模拟赛,个人感觉题目难度还是比较适中的,难度在提高+左右,可能比较接近弱省省选,总体来讲试题考查范围较广,个人认为还是很不错的. 所有试题如无特殊声明,开启-O2优化,时限 ...
- BZOJ 2038 小Z的袜子(hose) 莫队算法模板题
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2038 题目大意: 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中 ...
- broadcom6838开发环境实现函数栈追踪
在嵌入式设备开发中.内核为内核模块的函数栈追踪已经提供了非常好的支持,但用户层的函数栈追踪确没有非常好的提供支持. 在网上收集学习函数栈跟踪大部分都是描写叙述INTER体系架构支持栈帧的实现机制.或者 ...
- 【20170920校内模拟赛】小Z爱学习
所有题目开启-O2优化,开大栈空间,评测机效率为4亿左右. T1 小 Z 学数学(math) Description 要说小 Z 最不擅长的学科,那一定就是数学了.这不,他最近正在学习加法运算.老 ...
- 小Z爱图论(NOIP信(sang)心(bin)赛)From FallDream
题目: 小Z最近喜欢上了图论,于是他研究了一下图的连通性问题.但是他遇到了一个难题. 给定一个n个点的有向图,求有多少点对(i,j)满足从i点出发能到达点j ? 小Z仅会简单的朴素算法,所以他想问问你 ...
随机推荐
- 【洛谷4585】[FJOI2015] 火星商店问题(线段树分治)
点此看题面 大致题意: 有\(n\)家店,每个商品有一个标价.每天,都可能有某家商店进货,也可能有某人去购物.一个人在购物时,会于编号在区间\([L_i,R_i]\)的商店里挑选一件进货\(d_i\) ...
- 【LGR-061】洛谷10月月赛 II & X Round 4 Div.1&Div 2
X Round的题目质量还是一如既往的高 然而每次周末我都要写作业没法用心打233主要是被陈指导放了鸽子 占坑代填(最近坑开的有点多)
- win7 架设php环境运行H5游戏的坑坑坑坑
解决办法: 修改php.ini 文件 session.save_path = "D:/H5_Game" 指向所用的根目录 环境 windows7 x64 + php7.0.8
- 记录libreoffice实现office转pdf(适用于windows、linux)
由于目前的工作跟office打交道比较多,所以才有了此篇blog,需求是实现word转换pdf方便页面展示.之前lz采用的是jacob(仅支持windows)进行转换的,但是现在服务器改成linux显 ...
- 转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast
Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast 版权声明:本文为博主原创文章,遵循CC 4. ...
- 导出HTML5 Canvas图片并上传服务器功能
这篇文章主要介绍了导出HTML5 Canvas图片并上传服务器功能,文中通过实例代码给大家介绍了HTML5 Canvas转化成图片后上传服务器,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友 ...
- css/js 超出部分显示省略号
1.js方法 function cutString(str, len) { //length属性读出来的汉字长度为1 if (str.length * 2 <= len) { return st ...
- mysql Hash索引和BTree索引区别
Hash仅支持=.>.>=.<.<=.between.BTree可以支持like模糊查询 索引是帮助mysql获取数据的数据结构.最常见的索引是Btree索引和Hash索引. ...
- 死磕 java同步系列之AQS终篇(面试)
问题 (1)AQS的定位? (2)AQS的重要组成部分? (3)AQS运用的设计模式? (4)AQS的总体流程? 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为 ...
- char.IsWhiteSpace(str,num),TimeSpan
IsWhiteSpace(String, Int32) 指示指定字符串中位于指定位置处的字符是否属于空格类别. TimeSpan TimeSpan ts=new TimeSpan(4,30,0); C ...