#P20007. 徐阳破阵 · 括号封印

徐阳破阵 · 括号封印

徐阳破阵 · 括号封印

题目背景

徐阳一路杀到云剑宗藏经阁深处,面前是一扇铭刻着密密麻麻括号符号的青铜巨门。

"这是上古仙帝留下的括号封印,"残破的石碑上刻着这样一段话——

封印之上遍布三种仙纹:

  • 圆纹 ( )
  • 方纹 [ ]
  • 花纹 { }

要解开封印,必须按正确的嵌套次序施法。每种右纹必须匹配最近出现的同种左纹。若次序有误,封印反噬,闯入者灰飞烟灭。

"区区括号,也敢挡我十万年修为?"徐阳冷笑,手中掐诀,准备一举破阵。

题目描述

给定 T 组数据,每组包含一个仅由 '('')''['']''{''}' 组成的括号字符串 S。判断该括号序列是否合法。

合法条件:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合(后开先闭,即"栈"顺序)。
  3. 每个右括号都必须有一个对应的左括号。

输入格式

第一行一个整数 T,表示数据组数。

接下来 T 行,每行一个字符串 S

输出格式

T 行,每行输出 YESNO

样例

4
()
()[]{}
(]
([])
YES
YES
NO
YES

数据范围

  • 1 ≤ T ≤ 100
  • 1 ≤ len(S) ≤ 10^4
  • S 仅包含字符 ()[]{}