问题1723--【NOIP1997提高组】代数表达式

1723: 【NOIP1997提高组】代数表达式

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

代数表达式的定义如下:

例如,下面的式子是合法的代数表达式:
a;
a+b*(a+c);
a*a/(b+c);
下面的式子是不合法的代数表达式
ab;
a+a*/(b+c);
要求:输入一个字符串,以“;”结束,“;”本身并不是代数表达式中的字符,仅作为结束。若表达式正确,则输出“OK”,若表达式不正确,则输出“ERROR”,及错误类型。
错误类型约定:
1:式子中出现了不允许的字符
2:括号不匹配
3:其他错误
例如:
输入:a+(b);          输出:OK
输入:a+(b+c*a;    输出:ERROR 2

输入

输入数据为一行一个字符串,以“;”结束,“;”本身并不是代数表达式中的字符,仅作为结束。

输出

输出数据为一行一个字符串;
若表达式正确,则输出“OK”,若表达式不正确,则输出“ERROR”,及错误类型。

样例输入 Copy

a+(b);

样例输出 Copy

OK

提示

输入
a+(b+c*a;
输出
ERROR 2

来源/分类