对于任意两个字符串
- 若
- 若存在整数
容易发现,上述排序方法的排序结果是唯一的。
第一行输入一个字符串,包含个互不相同的小写字母。记
表示字母
是该字符串的第
个字符,则字母
小于等于字母
当且仅当
。
第二行输入一个整数,表示待排序字符串的数量。
接下来行,每行一个仅包含小写字母的字符串
,表示一个待排序的字符串。
按照排序后字符串位置下标从小到大的顺序输出行,每行一个字符串,表示排序的结果。
abcdefghijklmnopqrstuvwxyz 3 aaa aac aaaa
aaa aaaa aac
zyxwvutsrqponmlkjihgfedcba 3 aaa aac aaaa
aac aaa aaaa
strlist = input().strip()
dic = {}
for i, c in enumerate(strlist):
dic[c] = i + 1
n = int(input().strip())
strings = []
for _ in range(n):
strings.append(input().strip())
strings.sort(key=lambda s: [dic.get(c, 0) for c in s])
for s in strings:
print(s)