问题3220--括号的匹配

3220: 括号的匹配

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号<>等。 对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等。例如,{[()]},{()},({})为一个合法的表达式,而([{}] ,{([ ],[{<}>]都是非法的。

输入

第一行为一个整数n(1≤n≤100),接下来有n行仅由上述四类括号组成的括号表达式。第i+1行表示第i个表达式。每个括号表达式的长度不超过255。

输出

有N行,其中第I行对应第I个表达式的合法性,合法输出YES,非法输出NO。

样例输入

5 
{[(<>)]} 
[()] 
<>()[]{} 
[{]}
{()}

样例输出

YES 
YES 
YES 
NO 
YES

来源/分类

 

[提交] [状态]