#P1252. 翻转字符串

翻转字符串

题目描述

给定一个字符串,这个字符串只含有大写及小写英文字母,以及圆括号,保证圆括号是匹配的(另一种说法称之为平衡的)。

请不断进行以下翻转操作,直到所有的圆括号都被清除为止:

  • 首先,找到一组匹配的括号,且其内部不存在其他括号。
  • 其次,将其中的大写字母换成小写字母,将其中的小写字母换成大写字母
  • 接下来,将这段字母的顺序进行反转。
  • 最后,删除这对括号。

例如对于 (xY) 来说,先变成 (Xy),其次变成 (yX),最后变成 yX。

请输出所有翻转操作结束的字符串。

输入格式

  • 单个字符串表示 SS

输出格式

(a(Bc)D)E
dBcAE

数据范围

记 ∣S∣|S| 表示输入字符串的长度,

  • 30%30\% 的数据,1≤∣S∣≤1,0001\leq |S| \leq 1,000
  • 100%100\% 的数据,1≤∣S∣≤1,000,0001\leq |S| \leq 1,000,000
  • 保证 SS 至少存在一个英文字符
  • 注意可能存在括号内没有任何英文字符情况

来源

改编自 ABC350F