3123: 逆波兰式

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

逆波兰式就是后缀表达式,它的定义如下:

  • 单个数字如 6688 等都是后缀表达式;
  • 如果 �1e1�2e2 都是后缀表达式,则 �1  �2  +e1  e2  +�1  �2  −e1  e2  �1  �2  ∗e1  e2   都是后缀表达式;
  • 不满足以上两条规则的表达式都不是后缀表达式。

给定一个后缀表达式(保证合法),请计算表达式的值,并输出它模 1010 的余数。

注意,为了方便起见,我们省略了除法,同时也规定在表达式中出现的数字只能由一位数构成。

输入

一个字符序列:表示输入的后缀表达式。每个字符间用一个空格分开。保证输入字符只可能出现 0 到 9 及 +-* 三种运算符,且构成一个合法的后缀表达式。


记输入的可见字符数量为 n

  • 对于 50%50% 的数据,1≤�≤1001n100
  • 对于 100%100% 的数据,1≤�≤100,0001n100,000


输出

单个数字:表示表达式的值模 1010 的余数,注意余数必须大于或等于零。

样例输入 复制

3 4 +

样例输出 复制

7

提示

2*(3+3)=12


1 2 * 3 + 4 * 5 - 6 + 7 * 8 - 9 +
8


1 5 -
6

来源/分类