很多头杯,简称为 MHC,是一项面向拥有的选手的世界级程序设计竞赛。这场赛事的裁判长小青鱼,正在考虑为每一位选手设计一个身份号码。
“那么,就是它吧,”小青鱼想,“我们来使用一些括号序列!” 他为每个选手分配了一个独一无二的平衡括号序列,每个括号序列包含两种括号------圆括号(也被称为小括号),以及方括号。为了确保您理解平衡括号序列的概念,小青鱼准备了如下平衡括号序列的形式化定义:
- (一个空字符串)是一个平衡括号序列。
- 如果 是一个平衡括号序列, 那么 和 也都是平衡括号序列。
- 如果 和 是平衡括号序列,那么 也是一个平衡括号序列。
例如,, 以及 是平衡括号序列,但 , 和 不是。
对于我们的很多个头的选手,记住括号序列并不是一项困难的任务。然而,问题出现在了他们独特的能力上:因为他们有太多的头,因此他们无法分辨出括号的方向!结果是,与原来的平衡括号序列相比,他们记忆中的序列可能有部分括号的方向出现了改变。例如,括号序列 可能会被记忆成 或 。幸运的是,括号的种类仍然保持不变。
:::align{center}
:::
在比赛当天,在小青鱼收到了每位选手的括号序列后,一个问题出现了:原始的括号序列能否被唯一确定?换句话说,小青鱼需要确定给定的括号序列是否对应着唯一一个平衡括号序列。
请帮助小青鱼完成这项任务,来确保我们拥有很多个头的朋友们能够参加比赛!