#P1561. 表达式求值(NOIP2013)
表达式求值(NOIP2013)
题目描述
给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。
提示:因为只有
+和*两种运算符,可以只用一个栈:读到+时把后面的数直接入栈;读到*时把"栈顶 × 后面的数"更新到栈顶。最后把栈中所有元素累加起来就是答案。
输入格式
一行,为需要你计算的表达式。表达式中只包含数字、加法运算符 + 和乘法运算符 *,且没有括号。
所有参与运算的数字为 到 之间的整数。表达式中加法运算符和乘法运算符的总数不超过 。
输出格式
一个整数,表示这个表达式的值。
注意:当答案长度多于 位时,请只输出最后 位,前导 不输出。
样例
1+1*3+4
8
1+1234567890*1
7891
1+1000000003*1
4
说明/提示
输入数据保证这一行只有 0-9、+、* 这些字符。
由于数值上限较大,运算过程中即使使用 long long 也可能溢出,建议在每一步运算后都对 取余。