#P8032. [COCI2015-2016#7] Nizovi
[COCI2015-2016#7] Nizovi
题目描述
一种编程语言中的数组按如下方式定义:
- 数组的开头和结尾分别用大括号( 和 )表示。
- 每组大括号内有若干个(可能为 )用逗号分隔开来的元素(每个数组的最后一个元素后面没有逗号)。
- 每个元素可以是一个单词(由小写字母组成的字符串)或一个数组。
- 一些合法的数组:$\texttt {\{\}}, \texttt{\{a,b,c\}}, \texttt{\{abc,znj,\{novi,niz\},pozz\}}$。
你需要采用下列码风使得程序更加美观:
- 遇到单词或大括号时另起一行。
- 逗号应直接放置于一个数组元素的后面。
- 每遇到一个 ,增加 个空格的缩进。
- 每遇到一个 ,减少 个空格的缩进。
现给定一个数组,输出上述码风下该数组的样式。
输入格式
一个字符串 ,表示给定的数组。
输出格式
给定码风下的数组。
{abc,ono,sto}
{
abc,
ono,
sto
}
{}
{
}
{znakovi}
{
znakovi
}
{a,b,{c,d},e,{}}
{
a,
b,
{
c,
d
},
e,
{
}
}
提示
【数据规模与约定】
- 对于 的数据,元素只包含单词。
- 对于 的数据,。
【提示与说明】
Checker 选自 Testlib 库,见附件。
题目译自 COCI 2015-2016 #7 Task 1 Nizovi。
本题分值按 COCI 原题设置,满分 。