C1042 - 括号匹配

题目描述

输入一个表达式,表达式中有英文字母、数字、运算符(+、-、*、/)、空格和圆括号构成

请你编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出 Yes,否则输出 No

匹配规则(类似于C++语法中的括号匹配规则):

左右括号要成对出现,有一个左括号就要有一个右括号,匹配的左括号需要出现在右括号的左边

输入格式

第1行,一个表达式字符串(可以包含空格)

输出格式

输出1行,代表表达式字符串中的圆括号是否匹配,匹配则输出Yes,不匹配输出No

输入输出样例

输入样例 输出样例
(1 + 2) * 3 Yes
(1 + 2*3 No
1 + 2 * 3 Yes
)(1 + 2 No
1 + 2() Yes
((a + b) No
(a + b)) No

数据范围与提示

100%的数据:每个表达式字符串的长度 <= 100

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1042.in,输出文件名为:C1042.out