U587512 绘制表格(table)
题目描述
给出一个 $n$ 行 $m$ 列的逗号分隔的表格,你的任务是将该表格绘制成带边框的表格,用文本的形式输出。
输出要求如下:
- 输出是一个字符矩阵,包含 $n+1$ 条横线和 $m+1$ 条竖线,其中第一行和最后一行是横线,第一列和最后一列是竖线;
- 横线上的位置输出 `-` (ASCII 码 45),竖线上的位置输出 `|` (ASCII 码 124),横线与竖线相交的位置输出 `+` (ASCII 码 43);
- 每两条横线间隔恰好一行;
- 表格中第 $i$ 行第 $j$ 列的单元格内容应完全填在第 $i$ 条横线、第 $i+1$ 条横线、第 $j$ 条竖线、第 $j+1$ 条竖线围成的区域内,若单元格内容长度比两条竖线的间隔小,应在内容的左右两侧添加空格。
这里,我们要求每列的内容按给定的方式对齐。给出一个长度为 $m$ 且只含 `L` (ASCII 码 76)、 `C`
(ASCII 码 67)、 `R` (ASCII 码 82) 的字符串 $s$,用 $s_i$ 表示 $s$ 的第 $i$ 个字符,则:
- 若 $s_i=$`L` ,则第 $i$ 列左对齐,即每个单元格左侧不能有空格;
- 若 $s_i=$`R` ,则第 $i$ 列右对齐,即每个单元格右侧不能有空格;
- 若 $s_i=$`C` ,则第 $i$ 列居中,即每个单元格或者左右两侧空格数目相同,或者右侧空格比左侧多一个。
在此基础上,你应当使输出的表格宽度尽量小。
请你输出满足条件的表格。
输入格式
输入第一行包含两个正整数 $n,m$,表示表格的行数与列数。
第二行包含一个长度为 $m$ 的字符串 $s$,表示每列的对齐方式。保证 $s$ 只含字符 `L` 、 `C` 、 `R` 。
接下来 $n$ 行,每行一个包含恰好 $m-1$ 个逗号(ASCII 码 44)的字符串,描述表格的每一行,每个逗号分割的部分为该行的一个单元格内容。保证每个单元格内容非空,且除逗号外,只会出现数字和大小写字母。
输出格式
输出一个字符矩阵,表示绘制的满足条件的表格。
说明/提示
### 数据规模与约定
我们用 $L$ 表示每个单元格内容的最大长度。每个测试点的数据规模及特点如下表:
|测试点编号 |$n$|$m$|$L$|约定 |
|:-:|:-:|:-:|:-:|:-:|
|1|$=1$|$=1$|$=1$||
|2|$=1$|$=1$|$\le 5$||
|3|$=1$|$=1$|$\le 5$||
|4|$=1$|$=1$|$\le 5$||
|5|$=1$|$\le 10$|$=1$||
|6|$=1$|$\le 10$|$\le 5$||
|7|$=1$|$\le 10$|$\le 5$||
|8|$=1$|$\le 10$|$\le 5$||
|9|$=1$|$\le 10$|$\le 5$||
|10|$\le 10$|$=1$|$=1$||
|11|$\le 10$|$=1$|$=1$||
|12|$\le 10$|$=1$|$\le 5$|$s$ 中不含 `c`|
|13|$\le 10$|$=1$|$\le 5$|$s$ 中不含 `c`|
|14|$\le 10$|$=1$|$\le 5$||
|15|$\le 100$|$\le 100$|$=1$||
|16|$\le 100$|$\le 100$|$=1$||
|17|$\le 100$|$\le 100$|$\le 50$|$s$ 中不含 `c`|
|18|$\le 100$|$\le 100$|$\le 50$|$s$ 中不含 `c`|
|19|$\le 100$|$\le 100$|$\le 50$||
|20|$\le 100$|$\le 100$|$\le 50$||