AT_abc288_b [ABC288B] Qualification Contest

题目描述

有 $N$ 个人参加了一场比赛,第 $i$ 名的人的用户名为 $S_i$。 请将前 $K$ 名的用户名按**字典序**输出。 什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,对于两个不同的字符串 $S$ 和 $T$,判断它们大小的算法如下: 下面用 $S_i$ 表示“$S$ 的第 $i$ 个字符”。如果 $S$ 的字典序小于 $T$,记作 $S < T$,大于则记作 $S > T$。 1. 设 $L$ 为 $S$ 和 $T$ 中较短的字符串的长度。对于 $i=1,2,\dots,L$,依次比较 $S_i$ 和 $T_i$ 是否相等。 2. 如果存在 $S_i \neq T_i$ 的 $i$,则取最小的这样的 $i$,记为 $j$。比较 $S_j$ 和 $T_j$,如果 $S_j$ 的字母顺序小于 $T_j$,则 $S < T$,否则 $S > T$,算法结束。 3. 如果所有 $i$ 都有 $S_i = T_i$,则比较 $S$ 和 $T$ 的长度,若 $S$ 比 $T$ 短,则 $S < T$,否则 $S > T$,算法结束。

输入格式

输入通过标准输入给出,格式如下: > $N$ $K$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$

输出格式

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

说明/提示

### 限制条件 - $1 \leq K \leq N \leq 100$ - $K, N$ 为整数 - $S_i$ 是由小写英文字母组成的,长度不超过 $10$ 的字符串 - 对于 $i \neq j$,有 $S_i \neq S_j$ ### 样例解释 1 本场比赛有 $5$ 人参加,第 $1$ 名的用户名为 `abc`,第 $2$ 名的用户名为 `aaaaa`,第 $3$ 名的用户名为 `xyz`,第 $4$ 名的用户名为 `a`,第 $5$ 名的用户名为 `def`。前 $3$ 名的用户名分别为 `abc`、`aaaaa`、`xyz`,按字典序排序后依次为 `aaaaa`、`abc`、`xyz`,请按此顺序输出。 由 ChatGPT 4.1 翻译