#abc283d. [abc283_d]Scope
[abc283_d]Scope
问题描述
一个由小写英文字母,(
和 )
组成的字符串被称为好字符串,如果你可以通过以下过程将其变为空字符串:
- 首先,删除所有小写英文字母。
- 然后,重复删除连续的
()
。
例如,((a)ba)
是一个好字符串,因为删除所有小写英文字母得到 (())
,我们可以从中删除第2到第3个字符的连续 ()
得到 ()
,然后最终变为空字符串。
给定一个好字符串 。我们用 表示 的第 个字符。
对于每个小写英文字母 a
、b
、 和 z
,我们有一个上面写有该字母的球。此外,我们还有一个空盒子。
对于按顺序的每个 ,高桥进行以下操作,除非他晕倒。
- 如果 是小写英文字母,则将写有该字母的球放入盒子中。如果球已经在盒子里,他就会晕倒。
- 如果 是
(
,则什么都不做。 - 如果 是
)
,则取小于 的最大整数 ,使得 的第 到第 个字符形成一个好字符串。(我们可以证明这样的整数 总是存在。)从盒子中取出他在第 到第 次操作中放入的所有球。
判断高桥是否可以完成一系列操作而不晕倒。
约束条件
- 是一个好字符串。
输入
输入以以下格式从标准输入给出:
输出
如果他可以完成一系列操作而不晕倒,请输出 Yes
;否则输出 No
。
示例输入 1
((a)ba)
示例输出 1
Yes
对于 ,他什么都不做。
对于 ,他什么都不做。
对于 ,他将写有 a
的球放入盒子中。
对于 , 是小于 的最大整数,使得 的第 到第 个字符形成一个好字符串,所以他从盒子中取出写有 a
的球。
对于 ,他将写有 b
的球放入盒子中。
对于 ,他将写有 a
的球放入盒子中。
对于 , 是小于 的最大整数,使得 的第 到第 个字符形成一个好字符串,所以他从盒子中取出写有 a
的球和写有 b
的另一个球。
因此,这个案例的答案是 Yes
。
示例输入 2
(a(ba))
示例输出 2
No
对于 ,他什么都不做。
对于 ,他将写有 a
的球放入盒子中。
对于 ,他什么都不做。
对于 ,他将写有 b
的球放入盒子中。
对于 ,盒子中已经有写有 a
的球了,所以他晕倒,中止了一系列操作。
因此,这个案例的答案是 No
。
示例输入 3
(((())))
示例输出 3
Yes
示例输入 4
abca
示例输出 4
No