考虑正确平衡的括号的非空字符串:
(()(()())()((())))(())
我们可以想象每对括号代表一个折叠的伸缩式结构中的圆环。因此,让我们扩展望远镜:
( )( )
()( )()( ) ()
()() ( )
()
另一种看待它的方法是将深度为n的括号移到第n行,同时保持其水平位置。
您的任务是采用这样的平衡括号字符串,并生成扩展版本。
您可以编写程序或函数,通过STDIN(或最接近的等效项),命令行参数或函数参数获取输入,并通过STDOUT(或最接近的等效项),返回值或函数(out)参数生成输出。
您可以假定输入字符串有效,即仅包含正确平衡的括号。
您可以在每行上打印尾随空格,但不要在多余的空格前打印多余的空格。总的来说,这些行的长度不能超过输入字符串长度的两倍。您可以选择打印单个尾随换行符。
例子
除了上面的示例,这里还有更多的测试用例(输入和输出用空行分隔)。
()
()
(((())))
( )
( )
( )
()
()(())((()))(())()
()( )( )( )()
() ( ) ()
()
((()())()(()(())()))
( )
( )()( )
()() ()( )()
()
相关挑战:
- 地形字符串,要求您提供此挑战中输出的本质补充。
- PhiNotPi最近发布了 “代码解释格式化程序”,它是对这一挑战中思想的广泛概括。(实际上,PhiNotPi对他的想法的最初描述是激发这一挑战的原因。)
排行榜
呵呵,这次活动吸引了很多人,因此这里有一个Stack Snippet,可用来生成常规排行榜和获胜者语言概览。
为确保您的答案显示出来,请使用以下Markdown模板以标题开头。
# Language Name, N bytes
N
您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如:
# Ruby, <s>104</s> <s>101</s> 96 bytes