AT_abc219_c.[ABC219C] Neo-lexicographic Ordering
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
AtCoder 王国的统治者高桥君决定更改英文字母的字母顺序。
新的字母顺序由将 a、b、…、z 重新排列得到的字符串 X 表示。X 的第 i 个字符(1≤i≤26)表示在新的顺序中第 i 小的英文字母。
AtCoder 王国有 N 位国民,每位国民的名字分别为 S1,S2,…,SN。其中,Si(1≤i≤N)由小写英文字母组成。
请根据高桥君制定的新字母顺序,对这些名字按字典序进行排序。
什么是字典序?字典序简单来说就是“单词在字典中出现的顺序”。更严格地说,判断由小写英文字母组成的不同字符串 S、T 的大小关系的算法如下:
下面用 Si 表示 S 的第 i 个字符。当 S 在字典序上小于 T 时记作 S<T,大于时记作 S>T。
- 设 L 为 S 和 T 中较短的字符串的长度。对于 i=1,2,…,L,依次比较 Si 和 Ti 是否相同。
- 如果存在 Si=Ti 的 i,则取最小的这样的 i,记为 j。比较 Sj 和 Tj,若 Sj 在字母顺序上小于 Tj,则 S<T,否则 S>T,算法结束。
- 如果不存在 Si=Ti 的 i,则比较 S 和 T 的长度,若 S 比 T 短,则 S<T,否则 S>T,算法结束。
输入格式
输入按以下格式从标准输入读入。
X
N
S1
S2
⋮
SN
输出格式
输出 N 行。第 i 行输出按高桥君指定的新字母顺序排序后,第 i 小的国民名字。
输入输出样例
输入#1
bacdefghijklmnopqrstuvwxzy 4 abx bzz bzy caa
输出#1
bzz bzy abx caa
输入#2
zyxwvutsrqponmlkjihgfedcba 5 a ab abc ac b
输出#2
b a ac ab abc
说明/提示
限制条件
- X 是由
a、b、…、z重新排列得到的字符串。 - 2≤N≤50000
- N 为整数。
- 1≤∣Si∣≤10(1≤i≤N)
- Si 由小写英文字母组成(1≤i≤N)
- Si=Sj(1≤i<j≤N)
样例解释 1
在高桥君新设定的字母顺序中,b 比 a 小,z 比 y 小。因此,按字典序排序后,国民的名字依次为 bzz、bzy、abx、caa。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?