#aBC350F. [ABC350F] Transpose
[ABC350F] Transpose
AT_abc350_f [ABC350F] Transpose
题目描述
给定一个由英文字母大小写和 (、) 组成的字符串 。
字符串 中的括号是配对的。
重复进行如下操作,直到无法继续为止:
- 首先,选择一组满足以下所有条件的整数对 :
- 全部为英文字母(大写或小写)
- 令 。
- 其中, 表示将字符串 的大小写反转后的结果。
- 然后,将 的第 个字符到第 个字符删除,并在该位置插入 。
具体操作过程请参见输入输出样例。
通过上述操作,可以将所有的 ( 和 ) 都去除,并且最终得到的字符串与操作的方法和顺序无关,这一点可以得到证明。
请输出最终得到的字符串。
“ 中的括号是配对的”是什么意思?首先,定义“正确的括号序列”如下:
- 空字符串
- 存在某个正确的括号序列 ,将
(、、)按此顺序连接得到的字符串 - 存在某些非空的正确括号序列 ,将 按此顺序连接得到的字符串
中的括号是配对的,指的是将 中的所有 ( 和 ) 按顺序取出后,它们组成的字符串是一个正确的括号序列。
输入格式
输入以以下格式从标准输入读入。
输出格式
请输出答案。
输入输出样例 #1
输入 #1
((A)y)x
输出 #1
YAx
输入输出样例 #2
输入 #2
((XYZ)n(X(y)Z))
输出 #2
XYZNXYZ
输入输出样例 #3
输入 #3
(((()))(()))(())
输出 #3
输入输出样例 #4
输入 #4
dF(qT(plC())NnnfR(GsdccC))PO()KjsiI((ysA)eWW)ve
输出 #4
dFGsdccCrFNNnplCtQPOKjsiIwwEysAve
说明/提示
限制条件
- 由英文字母大小写和
(、)组成 - 中的括号是配对的
样例解释 1
对于 ((A)y)x,操作如下:
- 选择 。此时被删除的字符串为
(A),插入a。 - 操作后,
(ay)x。 - 选择 。此时被删除的字符串为
(ay),插入YA。 - 操作后,
YAx。 括号全部去除后,字符串为YAx,请输出该字符串。
样例解释 2
对于 ((XYZ)n(X(y)Z)),操作如下:
- 选择 。此时被删除的字符串为
(y),插入Y。 - 操作后,
((XYZ)n(XYZ))。 - 选择 。此时被删除的字符串为
(XYZ),插入zyx。 - 操作后,
(zyxn(XYZ))。 - 选择 。此时被删除的字符串为
(XYZ),插入zyx。 - 操作后,
(zyxnzyx)。 - 选择 。此时被删除的字符串为
(zyxnzyx),插入XYZNXYZ。 - 操作后,
XYZNXYZ。 括号全部去除后,字符串为XYZNXYZ,请输出该字符串。
样例解释 3
操作结果也可能为空字符串。
由 ChatGPT 4.1 翻译