#aBC288B. [ABC288B] Qualification Contest

[ABC288B] Qualification Contest

AT_abc288_b [ABC288B] Qualification Contest

题目描述

NN 个人参加了一场比赛,第 ii 名的人的用户名为 SiS_i
请将前 KK 名的用户名按字典序输出。

什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,对于两个不同的字符串 SSTT,判断它们大小的算法如下:

下面用 SiS_i 表示“SS 的第 ii 个字符”。如果 SS 的字典序小于 TT,记作 S<TS < T,大于则记作 S>TS > T

  1. LLSSTT 中较短的字符串的长度。对于 i=1,2,,Li=1,2,\dots,L,依次比较 SiS_iTiT_i 是否相等。
  2. 如果存在 SiTiS_i \neq T_iii,则取最小的这样的 ii,记为 jj。比较 SjS_jTjT_j,如果 SjS_j 的字母顺序小于 TjT_j,则 S<TS < T,否则 S>TS > T,算法结束。
  3. 如果所有 ii 都有 Si=TiS_i = T_i,则比较 SSTT 的长度,若 SSTT 短,则 S<TS < T,否则 S>TS > T,算法结束。

输入格式

输入通过标准输入给出,格式如下:

NN KK
S1S_1
S2S_2
\vdots
SNS_N

输出格式

请将答案按行输出,每行一个用户名。

输入输出样例 #1

输入 #1

5 3
abc
aaaaa
xyz
a
def

输出 #1

aaaaa
abc
xyz

输入输出样例 #2

输入 #2

4 4
z
zyx
zzz
rbg

输出 #2

rbg
z
zyx
zzz

输入输出样例 #3

输入 #3

3 1
abc
arc
agc

输出 #3

abc

说明/提示

限制条件

  • 1KN1001 \leq K \leq N \leq 100
  • K,NK, N 为整数
  • SiS_i 是由小写英文字母组成的,长度不超过 1010 的字符串
  • 对于 iji \neq j,有 SiSjS_i \neq S_j

样例解释 1

本场比赛有 55 人参加,第 11 名的用户名为 abc,第 22 名的用户名为 aaaaa,第 33 名的用户名为 xyz,第 44 名的用户名为 a,第 55 名的用户名为 def。前 33 名的用户名分别为 abcaaaaaxyz,按字典序排序后依次为 aaaaaabcxyz,请按此顺序输出。

由 ChatGPT 4.1 翻译