A85909.「CEOI2016」匹配
省选/NOI-
通过率:0%
时间限制:0.50s
内存限制:128MB
题目描述
我们定义一个合法的括号序列是如下之一:
- 一个空串;
- 串
(B),其中B是一个合法的括号序列; LR,两个合法的括号序列L和R直接拼接而成得到的串。
令 B 是一个长度为 N 的合法括号序列。定义 Bi 是序列 B 中第 i 个字符。对于两个下标 i,j,其中 1≤i<j≤N,我们称 Bi 和 Bj 是匹配的括号,如果满足:
- Bi=( 且 Bj=);
- i=j−1,或者子序列 C=Bi+1Bi+2…Bj−1 是合法的括号序列。
令 S 是一个只包含小写英文字母的字符串。我们定义 Si 是 S 串中第 i 个字符。我们称一个合法的括号序列 B 和 S 匹配,如果满足:
- B 的长度和 S 相等;
- 对于任意下标 i,j 对,且 i<j。如果 Bi 和 Bj 是匹配的,那么 Si=Sj。
对于给定长度为 N 的 S 串,请找到字典序最小的合法括号序列,满足和 S 匹配。如果这样的括号序列不存在,输出 −1。
输入格式
输入一行一个长度为 N 且只包含小写英文字母的串 S。
输出格式
输出长度为 N 的,和 S 匹配且字典序最小的合法括号序列,如果这样的括号序列不存在,输出 −1。
输入输出样例
输入#1
abbaaa
输出#1
(()())
输入#2
abab
输出#2
-1
说明/提示
对于全部数据,2≤N≤105。
- 对于其中 10 分的测试点,N≤18。
- 对于另外 27 分的测试点,N≤2×103。
如果存在一个下标 i (1≤i≤N),满足对于所有 j<i,都有 Aj=Bj,且 Ai<Bi,我们就称括号序列 A 的字典序小于括号序列 B。
字符 ( 的字典序小于字符 )。