问题 21154. -- 中缀表达式

21154: 中缀表达式

时间限制: 1 Sec  内存限制: 128 MB
献花: 117  解决: 31
[献花][花圈]

题目描述

输入一个中缀表达式(由0-9组成的运算数、加+减—乘*除/四种运算符、左右小括号组成。注意“—”也可作为负数的标志,表达式以“@”作为结束符),判断表达式是否合法,如果不合法,请输出“NO”;否则请把表达式转换成后缀形式,再求出后缀表达式的值并输出。

      注意:必须用栈操作,不能直接输出表达式的值。如果再考虑是实数运算呢?

输入

输入文件的第一行为一个以@结束的字符串。

输出

如果表达式不合法,请输出“NO”,要求大写。

如果表达式合法,请输出计算结果。

样例输入

1+2*8-9@

样例输出

8

提示

来源

[献花][花圈]