#P1441. Table

Table

描述
许多文本编辑器允许我们使用伪图形字符创建表格,但不允许编辑它们。也就是说,在修改单元格中的文本后,必须手动重新对齐表格的行和列标记。你需要实现一个编辑器模块,用于自动对齐表格。

表格是一个被垂直和水平线分割成单元格的矩形,这些线条连接其边界。垂直和水平标记以及矩形本身由图1中的伪图形字符组成。

表格单元格中的文本可以占据多行。文本不包含控制字符和伪图形字符。

在编辑表格时,单元格的文本会被修改,导致字符可能向左或向右移动。表格的行数、列数以及每个单元格中的行数不会改变。

在对齐后的表格中,每个单元格的每一行文本应与垂直标记之间恰好有一个左空格,且右侧至少有一个右空格。所有单词之间的空格是有效的。只允许以下操作:

  • 修改单元格行中前导和尾随空格的数量;
  • 在水平表格标记中添加或删除字符“--”(ASCII 196)。

表格不包含空列,即每一列至少包含一个具有非空文本的单元格。

要求对给定的表格进行格式化,使其宽度(表格行的长度)最小化。

输入
输入包含一个编辑后的表格。它不超过100行,每行长度不超过255个字符。行本身不包含前导或尾随空格。输入中不包含空行。

输出
输出对齐后的表格。输出行不应包含前导或尾随空格。输出中不应包含空行。输入保证格式化后的表格宽度不超过255个字符。

输入数据 1

┌───────┬───────────────────────┬──────────────────────────────────────┐
│ Name         │ Organization     │ JOB      │
├───────┼───────────────────────┼──────────────────────────────────────┤
│Bill Clinton│  USA      │ The President of the United States │
├───────┼───────────────────────┼──────────────────────────────────────┤
│Bill Gates│Microsoft Corporation     │ President                         │
├───────┼───────────────────────┼──────────────────────────────────────┤
│ Bill Poucher  │     A  C  M    │           International Collegiate Programming │
│                │               │      Contest Director                     │
└───────┴───────────────────────┴──────────────────────────────────────┘

输出数据 1

┌──────────────┬───────────────────────┬──────────────────────────────────────┐
│ Name         │ Organization          │ JOB                                  │
├──────────────┼───────────────────────┼──────────────────────────────────────┤
│ Bill Clinton │ USA                   │ The President of the United States   │
├──────────────┼───────────────────────┼──────────────────────────────────────┤
│ Bill Gates   │ Microsoft Corporation │ President                            │
├──────────────┼───────────────────────┼──────────────────────────────────────┤
│ Bill Poucher │ A  C  M               │ International Collegiate Programming │
│              │                       │ Contest Director                     │
└──────────────┴───────────────────────┴──────────────────────────────────────┘

来源
Northeastern Europe 1996