#aBC219C. [ABC219C] Neo-lexicographic Ordering
[ABC219C] Neo-lexicographic Ordering
AT_abc219_c [ABC219C] Neo-lexicographic Ordering
题目描述
AtCoder 王国的统治者高桥君决定更改英文字母的字母顺序。
新的字母顺序由将 a、b、、z 重新排列得到的字符串 表示。 的第 个字符()表示在新的顺序中第 小的英文字母。
AtCoder 王国有 位国民,每位国民的名字分别为 。其中,()由小写英文字母组成。 请根据高桥君制定的新字母顺序,对这些名字按字典序进行排序。
什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,判断由小写英文字母组成的不同字符串 、 的大小关系的算法如下:
下面用 表示 的第 个字符。当 在字典序上小于 时记作 ,大于时记作 。
- 设 为 和 中较短的字符串的长度。对于 ,依次比较 和 是否相同。
- 如果存在 的 ,则取最小的这样的 ,记为 。比较 和 ,若 在字母顺序上小于 ,则 ,否则 ,算法结束。
- 如果不存在 的 ,则比较 和 的长度,若 比 短,则 ,否则 ,算法结束。
输入格式
输入按以下格式从标准输入读入。
输出格式
输出 行。第 行输出按高桥君指定的新字母顺序排序后,第 小的国民名字。
输入输出样例 #1
输入 #1
bacdefghijklmnopqrstuvwxzy
4
abx
bzz
bzy
caa
输出 #1
bzz
bzy
abx
caa
输入输出样例 #2
输入 #2
zyxwvutsrqponmlkjihgfedcba
5
a
ab
abc
ac
b
输出 #2
b
a
ac
ab
abc
说明/提示
限制条件
- 是由
a、b、、z重新排列得到的字符串。 - 为整数。
- ()
- 由小写英文字母组成()
- ()
样例解释 1
在高桥君新设定的字母顺序中,b 比 a 小,z 比 y 小。因此,按字典序排序后,国民的名字依次为 bzz、bzy、abx、caa。
由 ChatGPT 4.1 翻译