#ABC366B. 垂直书写

垂直书写

问题描述

简而言之:给你一个水平书写的文本。将其转换为垂直书写,用 * 填充非靠右的空格。(建议直接看样例)

给你 NN 个由小写英文字母组成的字符串,S1,S2,,SNS_1,S_2,\dots,S_N。设 MM 是这些字符串的最大长度。

打印满足以下条件的 MM 个字符串 T1,T2,,TMT_1,T_2, \dots,T_M:

  • 每个 TiT_i 由小写英文字母和 * 组成。
  • 每个 TiT_i 不以 * 结尾。
  • 对于每个 1iN1≤i≤N,满足以下要求:
  • 对于每个 j(1jSi)j(1≤j≤|S_i|)TjT_j 的第 (Ni+1)(N-i+1) 个字符存在,并且将 T1,T2,,TsiT_1,T_2,\dots,T_{|s_i|} 的第 (Ni+1)(N-i+1) 个字符连接起来等于 SiS_i
  • 对于每个 j(Si+1jM)j(|S_i|+1≤j≤M)TjT_j 的第 (Ni+1)(N-i+1) 个字符要么不存在,要么是 *

这里,Si|S_i| 表示串 SiS_i 的长度。

数据规模

NN11100100 之间的整数,包括 11100100

每个 SiS_i 都是一串小写英文字母,长度介于 11100100 之间(包括 11100100)。

输入

输入来自标准输入,格式如下:

NN

S1S_1

S2S_2

\vdots

SNS_N

输出

按以下格式打印答案:

3
abc
de
fghi
fda
geb
h*c
i

* 作为 T3T_3 的第二个字符将 c 放在正确的位置。另一方面,将 * 作为 T4T_4 的第二个和第三个字符将使 T4T_4* 结尾,这违反了要求。

简而言之:将字符矩阵转一下,空格补 *,但每行结尾除外。

3
atcoder
beginner
contest
cba
oet
ngc
tio
end
sne
ter
*r