#aBC283Did331. [ABC283D] Scope
[ABC283D] Scope
AT_abc283_d [ABC283D] Scope
题目描述
在由小写英文字母、(、) 组成的字符串中,若可以通过以下步骤变为空字符串,则称其为好字符串:
- 首先,删除所有小写英文字母。
- 然后,只要存在连续的
(),就将其删除。
例如,((a)ba) 删除所有小写英文字母后变为 (()),然后删除第 和第 个字符的连续 () 后变为 (),最终可以变为空字符串,因此是好字符串。
给定一个好字符串 ,第 个字符记为 。
对于每个小写英文字母 a、b、、z,各有一个写有该字母的小球,并有一个空箱子。
高桥君按照 的顺序,依次进行如下操作,除非他晕倒:
- 如果 是小写英文字母,则将写有该字母的小球放入箱子中。如果该小球已经在箱子中,高桥君会晕倒。
- 如果 是
(,则什么也不做。 - 如果 是
),则取 之前的整数 ,使得 的第 到第 个字符组成的字符串为好字符串,且 最大(可以证明这样的 一定存在)。将第 到第 步操作中放入箱子的所有小球从箱子中取出。
请判断高桥君能否在不晕倒的情况下完成所有操作。
输入格式
输入为以下格式,从标准输入读入。
输出格式
如果高桥君能在不晕倒的情况下完成所有操作,输出 Yes,否则输出 No。
输入输出样例 #1
输入 #1
((a)ba)
输出 #1
Yes
输入输出样例 #2
输入 #2
(a(ba))
输出 #2
No
输入输出样例 #3
输入 #3
(((())))
输出 #3
Yes
输入输出样例 #4
输入 #4
abca
输出 #4
No
说明/提示
限制
- 是好字符串
样例解释 1
当 时,高桥君什么也不做。 时,高桥君什么也不做。 时,高桥君将写有 a 的小球放入箱子。 时, 之前最大的 使得 的第 到第 个字符组成好字符串是 ,因此高桥君将写有 a 的小球从箱子中取出。 时,高桥君将写有 b 的小球放入箱子。 时,高桥君将写有 a 的小球放入箱子。 时, 之前最大的 使得 的第 到第 个字符组成好字符串是 ,因此高桥君将写有 a 和 b 的小球从箱子中取出。因此本例答案为 Yes。
样例解释 2
当 时,高桥君什么也不做。 时,高桥君将写有 a 的小球放入箱子。 时,高桥君什么也不做。 时,高桥君将写有 b 的小球放入箱子。 时,写有 a 的小球已经在箱子中,因此高桥君晕倒,后续操作不再进行。因此本例答案为 No。
由 ChatGPT 4.1 翻译
Related
In following homework: