/ C++党 / 题库 /

[noip1997]合法表达

[noip1997]合法表达

时间限制:1s 空间限制:1024KiB


题目来源

本题是1997年提高组的第二题(难度:普及/提高-),希望你能把它做出来,加油!!!^_^

题目描述

小Q现在有一个不算长也不算短的表达式,他想知道这里面有没有什么小错误,想请学习信奥的你帮忙。下面是小Q给你列出的一些错误类型:
1.算式中出现了除a、b、c和加减乘除以及小括号以外的其他字符。
2.小括号不配对。
3.其他错误,如出现了两个连续的字母或运算符等。
例如,下面的式子是合法的代数表达式:
a;
a+b*(a+c)
下面的式子是不合法的代数表达式:
ab;
a+a*/(b+c);
小Q想请你帮助他,看看算式到底犯了几号错误。

输入输出格式

输入格式

输入一个算式,以“;”结束。(注意:“;”本身不是代数表达式中字符,仅作为结束)

输出格式

如果表达式正确,则输出“OK”,若表达式不正确,则输出“Error”,及错误类型(1,2或3)。数据保证每一个算式至多只有一个错误。

输入输出样例

Input #1

a+(b);

Output #1

OK

Input #2

a+(b+c*a; 

Output #2

Error 2

时间空间限制

每个测试点时间1s,空间1024KiB。

数据范围约定

100%的数据保证算式的长度不超过20。

提供者

Vijos 梁忆炎

信息

难度
3
分类
数据结构 | 点击显示
标签
递交数
6
已通过
1
通过率
17%
上传者