#P15923. [Roi2019 Team]Too Many Hyphens太多连字符
[Roi2019 Team]Too Many Hyphens太多连字符
题目描述
像 TEX 和 LATEX 这样的文档排版语言常用于排版文章、科学文本,甚至信息学竞赛题面。
它们提供特殊宏,使用户可以输入键盘上没有的特殊字符。例如,连续多个连字符会被转换为不同长度的破折号。因此,如果需要在文档中得到一串连续连字符,就需要进行特殊处理。
一种处理方法是使用大括号,防止连续连字符被识别为宏。与许多编程语言类似,TEX 中的大括号用于给字符块分组。大括号序列本身必须形成合法括号序列:删除字符串中除 { 和 } 外的所有字符后,将 { 视为 ,} 视为 ,要求总和为 ,并且任意前缀和非负。
为了防止连续连字符被替换成破折号,任意两个相邻的 - 之间至少要插入一个大括号。注意,连续的 + 不对应任何宏,因此两个相邻的 + 之间没有额外要求。
给定只由 + 和 - 组成的字符串 。在满足上述规则的前提下,向其中插入尽可能少的大括号,使得结果中不存在两个相邻的连字符。这样的结果称为 的一个最优转义字符串。
例如,对字符串 ++--,恰好有 5 个最优转义字符串:
++-{-}
++-{}-
++{-}-
+{+-}-
{++-}-
按字典序排列字符时,字符顺序为:
+ < - < { < }
请在所有最优转义字符串中,输出字典序第 小的一个;若不存在第 个,则输出 Overflow。
输入格式
第一行输入字符串 ,只包含 + 和 -。
第二行输入整数 。
输出格式
输出字典序第 小的最优转义字符串。
如果 大于最优转义字符串总数,输出 Overflow。
数据范围
- 非空,长度不超过
样例 1 输入
++--
2
样例 1 输出
++-{}-
样例 2 输入
-+-+-
2
样例 2 输出
Overflow