#P1578. Instruens Fabulam

Instruens Fabulam

本题没有可用的提交语言。

描述

instruments Fabulam的意思是在拉丁语中绘制图表(或表格)。这就是你们要做的。

输入

输入由一个或多个表描述组成,后面是第一个字符为“*”的行,表示文件结束。每个描述都以包含一个或多个字符的标题行开头,这些字符定义了表中列的数量和对齐方式。标题行的每个字符都是‘<<’、‘==’或‘>>’,表示左对齐、居中或右对齐的列。标题后面至少有2行,最多21行,其中包含每行的条目。每个数据行由一个或多个由&号('&')分隔的非空条目组成,其中条目的数量等于标题行中定义的列的数量。第一行数据包含列标题的条目,其余的数据包含表体的条目。空格可以出现在条目中,但不能出现在条目的开头或结尾。字符‘<<’, ‘==’, ‘>>’, ‘&’和‘*’将不会出现在输入中,除非上面有说明。

Output

对于每个表描述,使用示例中所示的精确格式输出表。注意

表的总宽度永远不会超过79个字符(不包括行尾)。

虚线(‘-‘)用于绘制水平线,而不是下划线(’_’)。“AtAt”符号(“@@”)分别出现在四个外角上。加号('++')出现在分隔标题和正文的行内的交叉处。

列中最大的项总是与封闭栏('|')隔开正好一个空格。

如果居中的条目不能完全居中,则多余的空间放在条目的右侧。

输入和正确输出文件满足Teams Notes中列出的所有要求,除了输出可能包含两个或多个连续的空格。行首和行尾没有空格,只使用空格(不使用制表符)。

<>=>
TITLE&VERSION&OPERATING SYSTEM&PRICE
Slug Farm&2.0&FreeBSD&49.99
Figs of Doom&1.7&Linux&9.98
Smiley Goes to Happy Town&11.0&Windows&129.25
Wheelbarrow Motocross&1.0&BeOS&34.97
>
What is the answer?
42
<>
Tweedledum&Tweedledee
"Knock, knock."&"Who's there?"
"Boo."&"Boo who?"
"Don't cry, it's only me."&(groan)
*
@-----------------------------------------------------------------@
| TITLE                     | VERSION | OPERATING SYSTEM |  PRICE |
|---------------------------+---------+------------------+--------|
| Slug Farm                 |     2.0 |     FreeBSD      |  49.99 |
| Figs of Doom              |     1.7 |      Linux       |   9.98 |
| Smiley Goes to Happy Town |    11.0 |     Windows      | 129.25 |
| Wheelbarrow Motocross     |     1.0 |       BeOS       |  34.97 |
@-----------------------------------------------------------------@
@---------------------@
| What is the answer? |
|---------------------|
|                  42 |
@---------------------@
@---------------------------------------------@
| Tweedledum                 |     Tweedledee |
|----------------------------+----------------|
| "Knock, knock."            | "Who's there?" |
| "Boo."                     |     "Boo who?" |
| "Don't cry, it's only me." |        (groan) |
@---------------------------------------------@

来源

美国中南部2000