Skip to content

1216: 括号栈

题目

题目描述

模拟一个括号栈,其元素是三种括号()、[]、{}。

给出长为n的操作序列,按序列要求完成以下几种操作:

  1. push
  2. pop(栈空则忽略此操作)
  3. 输出栈顶元素(栈空则忽略此操作)
  4. 询问当前括号是否匹配(栈空则认为匹配)

输入格式

第1行一个整数n,代表总共有n次操作。

第2~n+1行,每行1个整数,第一个数代表操作种类,对于操作1,在同行给定一个入栈元素。

输出格式

对于每次询问操作,输出一行代表答案。

操作3:输出栈顶元素

操作4:匹配输出“YES”,否则输出“NO”

e.g.

{[()]} 匹配

{[}] 不匹配

样例输入

6
1 (
1 )
3
4
2
4

样例输出

)
YES
NO

数据范围

对于\(40\%\)的数据,只有前三种操作。

对于\(60\%\)的数据,元素只有小括号。

对于\(80\%\)的数据,n < 1000.

对于\(100\%\)的数据, n < 10^6.

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!