G. 不要省略大括号!

内存限制:2 MiB 时间限制:50 ms 标准输入输出
题目类型:传统 评测方式:Special Judge

题目描述

很多同学在写代码的时候,如果遇到单子句的 if,可能就会省略大括号,甚至会写到 if 语句的同一行,比如下面这样:

if (score == 100)
    printf("Full Combo!\n");
if (score < 60) printf("Pity...\n");

但我们的 Musha 不喜欢这样,她想让你给他们全部套上大括号。

在这个题目里,我们只考虑简单情况,对于 if 语句,仅有下面一种形式:

if (<condition>)
	<statement>

注意,将上述代码块视为一个 if 语句!会使用一个 Tab(\t)表示缩进

此外,还有普通语句,只有一行,普通语句不以 if 开头。

当然,题目也不会那么简单,if 语句中的 <statement> 可以是任何语句,包括普通语句和另一个 if 语句,也就是允许嵌套

if 语句块的 <statement> 整体相较于 if 有一层的缩进,每一层次的缩进使用使用一个 Tab(\t)。

例如,下面的例子:

r = a
if (a == 1)
	b = a
if (c + 1 == 1 + c)
	if (a = r)
		a = r

第 1 行是一个普通语句。第 2-3 行是一个 if 语句,这个 if 语句中的 <statement> 是一个普通语句。第 4-6 行是一个 if 语句,这个 if 语句的 <statement> 是另一个 if 语句。

你需要给这些 if 逐层套上大括号,也即将 if 语句转化为:

if (<condition>) {
	<statement>
}

{if 同一行,并且需要在前面加一个空格,} 另起一行,并与对应的 if 在同一列。例如:

r = a
if (a == 1) {
	b = a
}
if (c + 1 == 1 + c) {
	if (a = r) {
		a = r
	}
}

但是,调皮的 Musha 已经帮你添好了一些大括号,这一小部分就不用你操劳了。她保证已经帮你添加的大括号都是正确的。

输入格式

不定行输入,表示读到的代码段。其中有小部分被正确添加的大括号。

输出格式

输出添加大括号后的代码。你的缩进也应该使用 \t

样例

【样例输入】

r = a
if (a == 1)
	b = a
if (c + 1 == 1 + c) {
	if (a = r)
		a = r
}

【样例输出】

r = a
if (a == 1) {
	b = a
}
if (c + 1 == 1 + c) {
	if (a = r) {
		a = r
	}
}

数据范围与提示

待处理代码每行不超过 200 字符,不超过 100 行。

保证代码块仅由英文字母、数字、英文符号(不含大括号)组成,不保证语句的实际意义。

保证会遵守上述的 if 语句的格式,并保证 if 体仅有单行语句或另一个 if 语句。保证 if 语句块的缩进正确,且不会出现 if 体为空的情况。

保证没有空行与行尾空格,保证没有 \r

保证 \t 仅用来表示缩进且缩进仅使用 \t

编辑器加载中 …
通告标题

通告内容

已知晓