#ABC225F. 字符串卡片

字符串卡片

字符串卡片

题目描述

NN 张卡片,第 ii 张卡片上写着字符串 SiS_i

从中选择 KK 张卡片,并以任意顺序拼接,求能得到的所有字符串中字典序最小的一个。

输入格式

输入按以下格式从标准输入给出:

NN KK
S1S_1
S2S_2
\vdots
SNS_N

输出格式

输出答案。

样例

4 3
ode
zaaa
r
atc
atcoder

注意,不能反转卡片上写着的字符串,也不能打乱其中的字符顺序。

例如,写在第 1 张卡片上的 ode 不能作为 edo 或 deo 使用。

5 2
z
z
zzz
z
zzzzzz
zz

可能存在 i,ji, j(iji\neq j)使得 Si=SjS_i = S_j

数据范围

  • 1KN501 \le K \le N \le 50
  • 1Si501 \le |S_i| \le 50
  • SiS_i 由小写英文字母组成。

提示

关于字典序:

简单来说,字典序就是单词在字典中的排列顺序。更正式的定义如下,它给出了确定两个不同的字符串 SSTT 字典序大小的算法。

下面用 SiS_i 表示 SS 的第 ii 个字符。另外,如果 SS 的字典序小于 TT,记作 S<TS \lt T;如果 SS 的字典序大于 TT,记作 S>TS \gt T

LLSSTT 中较短者的长度。对每个 i=1,2,,Li=1,2,\dots,L,检查 SiS_iTiT_i 是否相同。

如果存在 ii 使得 SiTiS_i \neq T_i,设 jj 为最小的这样的 ii。然后比较 SjS_jTjT_j。如果 SjS_j 在字母表顺序上先于 TjT_j,则判定 S<TS \lt T 并结束;如果 SjS_j 晚于 TjT_j,则判定 S>TS \gt T 并结束。

如果不存在 ii 使得 SiTiS_i \neq T_i,则比较 SSTT 的长度。如果 SSTT 短,判定 S<TS \lt T 并结束;如果 SSTT 长,判定 S>TS \gt T 并结束。

难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2301
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签