A. 后缀表达式

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

作为一道签到题,本题仅要求你编程实现本学期学过的一个知识点,即后缀表达式求值。

我们保证后缀表达式中仅含 +,-,* 三个双目运算符,数字和分隔符 |。

两个相邻数字(即中间没有运算符)以 | 分隔,所有数字均为不含正负号的非负整数且小于 。

由于运算结果可能很大,请输出运算结果 的值,如果后缀表达式不合法,输出 INVALID!。(尽管数据中不会出现,但是多余的分隔符 | 不会导致表达式非法。换句话说 | 的唯一作用是在解析数字时若看到它就停下来,其余时候只需忽略它)

输入格式

输入一个字符串 ,表示一个后缀表达式。

输出格式

输出一个数,表示答案。

样例

样例输入 1

3|4*

样例输出 1

12

样例输入 2

9|18|12-*

样例输出 2

54

样例输入 3

1+|+3

样例输出 3

INVALID!

数据范围与提示

对于全部数据,。

友情提示:

  • 样例 1 的表达式是 3*4,样例 2 的是 9*(18-12)。
  • 本题考察点:字符串解析,栈。
  • 请注意减出负数后的取模。
  • 有操作数剩余非法,操作数不足操作符使用非法。
  • 我们不希望有人零分。如果实在不会做,就请 puts("INVALID!") 吧。