P1739表达式括号匹配
2017-03-18 10:51
148 查看
题目描述
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
输入输出格式
输入格式:一行:表达式输出格式:一行:“YES” 或“NO”
输入输出样例
输入样例#1:
① 2*(x+y)/(1-x)@ ② (25+x)*(a*(a+b+b)@
输出样例#1:
① YES ② NO
AC代码:
#include <stdio.h> int main() { char str[300]; int count = 0; scanf("%s", str); for(int i = 0; str[i] != '@'; i++) { if(str[i] == '(') count++; else if(str[i] == ')') count--; if(count < 0) break; //此处是关键 } printf(count == 0 ? "YES\n" : "NO\n"); return 0; }提供几组测试数据:
(())
()()
))((
(()
YES
YES
NO
NO
相关文章推荐
- 洛谷 P1739 表达式括号匹配
- 洛谷 P1739 表达式括号匹配
- 洛谷 P1739 表达式括号匹配
- P1739 表达式括号匹配
- 洛谷 P1739 表达式括号匹配
- P1739 表达式括号匹配
- 洛谷 1739_表达式括号匹配_模拟
- 洛谷P1739 表达式括号匹配解题报告
- 用链栈实现字符串表达式括号匹配算法
- (1.2.2.1)栈和队列的应用:数制转换、括号匹配、后缀表达式求解,中缀表达式求解、双栈实现队列,min函数栈
- 中缀表达式转后缀表达式与括号匹配
- 判断表达式左右括号是否匹配(栈)
- 括号匹配检测 逆波兰表达式
- 2. 栈的两个应用:括号匹配和表达式的计算。
- 正则表达式的括号与贪婪匹配
- java正则表达式匹配小括号内的内容
- 栈的应用Ⅰ--后缀表达式 括号匹配
- 判断表达式括号是否匹配,C语言堆栈实现
- 如何利用正则表达式匹配花括号内的内容
- 栈及栈的应用(括号匹配和逆波兰表达式)