#P2502. 字符串匹配问题

字符串匹配问题

题目描述

字符串中仅包含四种括号 ()[]<>{},需要判断输入的字符串中括号是否匹配。除常规的括号成对匹配要求外,若括号存在互相包含的形式,从内到外的括号类型必须严格遵循 <>()[]{} 的顺序。例如 [()] 符合顺序(内层 (),外层 []),输出 YES;而 ([]) 不符合顺序(内层 [],外层 ()),输出 NO

输入格式

第一行一个整数 nn,表示待判断的括号字符串数量。

接下来 nn 行,每行一个仅由四种括号 ()[]<>{} 组成的字符串。

输出格式

nn 行,每行对应一个字符串的判断结果。若括号匹配且包含顺序合法,输出 YES,否则输出 NO

样例

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

数据范围

  • 字符串长度不超过 255255
  • nn 为不超过 10001000 的正整数。