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$||