大家好我是来自百度贴吧的_叫我猪猪侠,英文名叫_CallMeGGBond。
我不曾上过大学,但这不影响我对离散数学、复杂性分析等领域的兴趣;尤其是括号序列理论,一度令我沉浸其中,无法自拔。至于OI算法竞赛,我年轻时确有参加,虽仅获一枚铜牌,但我素性淡泊,毫不在意,毕竟那所谓FFT、仙人掌之类,只是些雕虫小技罢了,登不上大雅之堂的;只有括号序列才会真正激发我的研究热情。
我曾天真地以为,凭借我的学识与才能,足可以在这世间安身立命;然而直到沦落街头后,我终才领悟现实的残酷。迫于生计,我只得转向道德与哲学的研究;但我与括号序列之间情愫依旧,难以剪断。
理性的传播总是不顺的,研究的道路也是曲折的,但轻易放弃决不是我的风格;为了继续实现自己的理想,现在我向大家提出一道括号序列的超级大难题。
有一个由
我希望使用不超过
众所周知,合法括号序列的定义如下:
- () 是合法括号序列;
- 如果 A 是合法括号序列,则 (A) 是合法括号序列;
- 如果 A,B 是合法括号序列,则 AB 是合法括号序列。
自从来到 UOJ 这个宝地,我的视野变得开阔了,也见识了更多富有人类智慧的人士。我相信各位一定能给我更加满意的答案!
输入格式
一行一个长度为
输出格式
对于给出的字符串,输出调整成合法的括号序列的方案。如果不存在这样的方案输出一行一个整数
否则,第一行一个整数
接下来
请保证
如果有多组方案,输出任意一组即可。
样例一
input
)))()(((
output
2 1 6 5 8
explanation
第一次操作后序列变为 “()()))((”。
第二次操作后序列变为 “()()(())”。
限制与约定
测试点编号 | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 |
时间限制:
空间限制: