OpenJudge

08:构建世界

总时间限制:
1000ms
内存限制:
65536kB
描述

Rainbow得到了一行由数字、’(’’)’’:’’.’’[’’]’组成的奇怪的文字,他怀疑这是古玛雅文明中构建世界的记录T_T!为了展示自己的说法很有力,他自己YY了一种规则,决定用这行字符构建一个二维世界!

他绘出的二维世界由一些矩形区域组成。矩形区域的四个角由’+’表示,水平方向的边界用’-’表示,竖直方向的边界用’|’表示,内部用空格填充。每个矩形区域中填写一个0~9999之间的整数,表示这片区域归属人的身份标识。他YY的构建规则如下:

数字:

一个数是一个合法的表达式,它代表着一个矩形区域。这个区域内部的最小高度为1,最小宽度为这个数的位数+2。这个数写在这个区域中第一行距离左边界一格的位置上。

例如566表示的矩形区域为:

+-----+

| 566 |

+-----+

冒号、点号:

冒号和点号连接的表达式被称为是同级的。

冒号表示表达式代表的区域之间的位置关系为竖直关系。

点号表示表达式代表的区域之间的位置关系为水平关系。

圆括号:

若干个表达式被一对圆括号括起来时,它整体被看做一个表达式。

圆括号括起来的表达式和括号外的表达式是不同级的。但是圆括号括起来的这个表达式整体与括号旁边相邻的用冒号或者点号连接的表达式同级。用冒号或点号连接起来的同级表达式一定会被圆括号括起来,不会出现同时包含冒号和点号的同级表达式。

方括号:

方括号只能括起来一个表达式。

一组同级表达式中,至多有一个是方括号表达式。

一组同级表达式所代表的区域,应当具有相同的大小。不过,那个被方括号括起来的表达式是一个特例,它的宽度(或高度,根据相邻的连接同级表达式的符号而定)是同级相邻表达式的三倍

你能帮Rainbow画出这个世界吗?


输入
一个由数字、’(’、’)’、’:’、’.’、’[’、’]’组成的字符串,保证能按规则构建出一个世界。输入长度不超过255,输出总长度不超过100000字节。
输出
一些矩形区域,格式如题目描述所述。具体可参见样例。
样例输入
((566:[30]).1.239)
样例输出
+-----+-----+-----+
| 566 | 1   | 239 |
+-----+     |     |
| 30  |     |     |
|     |     |     |
|     |     |     |
+-----+-----+-----+
提示
样例解释1
566和[30]是同级表达式,566区域的内部宽度为5,高度为1,均为最小值,[30]区域的高度是566的三倍,宽度相同。
(566:[30])、1、239是同级表达式,由于(566:[30])区域的内部宽度、内部高度已经不可能小于5,所以1区域、239区域的宽、高与其相同,也只能是5。

01答案需要使用long long表示
05表达式期望值,Ai小于2^20

全局题号
15287
提交次数
1
尝试人数
1
通过人数
0