#2986. [NOIP1997 提高组] 代数表达式

[NOIP1997 提高组] 代数表达式

题目描述

代数表达式的定义如下:

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

  • aa
  • a+b(a+c)a+b*(a+c)
  • aa/(b+c)a*a/(b+c)

下面的式子是不合法的代数表达式:

  • abab
  • a+a/(b+c)a+a*/(b+c)

错误类型约定:

  • 1:式了中出现不允许的字符;
  • 2:括号不配对;
  • 3:其它错误。

例如:

输入:a+(b)a+(b); 输出:OK

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

输入格式

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

输出格式

若表达式正确,则输出 OK;若表达式不正确,则输出 ERROR,及错误类型。

样例

a+(b);
OK
a+(b+c*a;
ERROR 2

数据范围

字符串长度 \leq 50