#37. 反转字符串
反转字符串
题意
给定一个由英文字母大小写和 (
、)
组成的字符串 。
字符串 中的括号是配对的。
重复进行如下操作,直到无法继续为止:
- 首先,选择一组满足以下所有条件的整数对 :
- 全部为英文字母(大写或小写)
- 令 。
- 其中, 表示将字符串 的大小写反转后的结果。
- 然后,将 的第 个字符到第 个字符删除,并在该位置插入 。
具体操作过程请参见输入输出样例。
通过上述操作,可以将所有的 (
和 )
都去除,并且最终得到的字符串与操作的方法和顺序无关,这一点可以得到证明。
请输出最终得到的字符串。
“ 中的括号是配对的”是什么意思?首先,定义“正确的括号序列”如下:
- 空字符串
- 存在某个正确的括号序列 ,将
(
、、)
按此顺序连接得到的字符串 - 存在某些非空的正确括号序列 ,将 按此顺序连接得到的字符串
中的括号是配对的,指的是将 中的所有 (
和 )
按顺序取出后,它们组成的字符串是一个正确的括号序列。
输入格式
输入以以下格式从标准输入读入。
表示属于第几个测试点,测试样例 为
输出格式
请输出答案。
输入输出样例 #1
输入 #1
0
((A)y)x
输出 #1
YAx
输入输出样例 #2
输入 #2
0
((XYZ)n(X(y)Z))
输出 #2
XYZNXYZ
输入输出样例 #3
输入 #3
0
(((()))(()))(())
输出 #3
输入输出样例 #4
输入 #4
0
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
操作结果也可能为空字符串。
【数据范围】
对于所有数据,保证
测试点编号 | 特殊性质 | 测试点分值 | |
---|---|---|---|
无 | |||
A | |||
无 |
性质A:不存在嵌套的括号。即括号内部不会出现括号。
Related
In following contests: