【题目链接】

https://www.luogu.org/problem/P1449

【题目描述】

所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。

如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。

输入格式

输入:后缀表达式

输出格式

输出:表达式的值

输入输出样例

输入 #1

3.5.2.-*7.+@
输出 #1

16

说明/提示

字符串长度,1000内。


【题解】:

基础的用栈模拟求解过程,直接用栈存储,然后遇到操作符就进行运算。

具体可以看代码

【代码】

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3+; char s[N];
//3.5.2.-*7.+@ ll Calc( ll u , ll v , char op){
switch( op ){
case '+' : return u+v;
case '-' : return u-v;
case '*' : return u*v;
case '/' : return u/v;
}
} int main()
{
list <ll> L ;
scanf("%s",s);
ll tmp = , u , v ;
for(int i=;s[i];i++){
if( isdigit(s[i]) ){
tmp = tmp * + s[i] - '' ;
}else if( s[i] =='.' ){
L.push_back(tmp) ;
tmp = ;
}else if( s[i] !='@' ){
v = L.back() ; L.pop_back() ;
u = L.back() ; L.pop_back() ;
L.push_back( Calc(u,v,s[i]) ) ;
}
}
printf("%lld\n",L.back());
return ;
}

最新文章

  1. python递归实现折半查找
  2. transform应用详解
  3. Three.js基础探寻十——动画
  4. iOS-Core Text 入门
  5. 第12章 MySQL高级管理
  6. 基于Activiti的流程应用开发平台JSAAS-WF V5.3
  7. BotVS开发基础—2.11 API绘制图表
  8. [UWP]使用Acrylic
  9. Java仪器数据文件解析-PDF文件
  10. Spring的声明式事务管理
  11. 【转廖大神】package.json 包安装
  12. supervisor //todo
  13. Nginx学习安装配置和Ftp配置安装
  14. VS 中的几种注释方法
  15. openx -书表添加字段
  16. Python UDP实例
  17. HDU3592(差分约束)
  18. 低危漏洞- X-Frame-Options Header未配置
  19. ZooKeeper是以Fast Paxos算法为基础的
  20. nginx 调试

热门文章

  1. springmvc返回json对象
  2. 20182332 实验四《Java Socket编程 》实验报告
  3. 解决JAVA单步调试键盘输入被JDB占用的问题
  4. DELPHI10.3.1安卓照相
  5. 安装mysql问题解决
  6. springboot动态定时任务
  7. delphi 中如何从数据库中读取数据自生成TreeView,只有两个字段,数据库结构如下。急急!!
  8. 阿里云服务出现TCP连接快速增加尤其是NON_ESTABLISHED大量增加导致内存和CPU暴增系统无法使用的问题
  9. JAVA WEB开放中的编码问题
  10. npm install --save react-native-device-info报错