7018 - 代数表达式

代数表达式的定义如下:

15655322978306.png

例如,下面的式子是合法的代数表达式:

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”,及错误类型。

样例

输入

a+(b);

输出

OK

输入

a+(b+c*a;

输出

ERROR 2

来源

NOIP

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题