#B2165. 括号匹配

    ID: 539 Type: Default 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>模拟栈字符串(入门)

括号匹配

B2165 括号匹配

  • 题号:B2165
  • 难度:普及−(2)
  • 标签:模拟、栈、字符串(入门)
  • 时间限制:1000 ms
  • 内存限制:512 MB
  • 样例数:2
  • 提交 / 通过:25383 / 9825
  • 抓取时间:2026-11-11T08:51:49.495Z
  • 正文来源:problem.content(zh-CN)

题目描述

给定只由 66 种括号字符组成的字符串:(, ), [, ], {, }。判断每个字符串是否为“合法括号序列”,合法则输出 YES,否则输出 NO。合法括号序列的定义:

  • 空串合法;
  • 若 A 合法,则 (A), [A], {A} 均合法;
  • 若 A 与 B 均合法,则 AB 合法。

输入格式

第一行一个整数 TT,表示数据组数。接下来 TT 行,每行一个只包含上述 66 种字符的字符串。

输出格式

对于每个字符串,输出一行:

  • 若其为合法括号序列,输出 YES;
  • 否则输出 NO。

样例

样例 1 输入

1
()[]{}

样例 1 输出

YES

样例 2 输入

6
()
([)]
([]){}
((((
{[()()]}
}{

样例 2 输出

YES
NO
YES
NO
YES
NO

提示

记单串长度记为 ∣S∣|S|。测试数据满足 1≤∣S∣≤1061 \leq |S| \leq 10^6,1≤T≤2×1051 \leq T \leq 2\times 10^5,同一输入文件内总长度 ∑∣S∣≤2×106\sum |S| \leq 2\times 10^6,字符串只包含字符 ()[]{}。


由 fetch_luogu_statements.mjs v1.0.0 自动抓取生成;原始数据见 json/B2165.json。