给小塔n个字符串,请你对这n个字符串按照以下规则从小到大排序。
对于任意两个字符串s和t,在排序后应当满足:
若s是t的一个前缀,则s在排序后的下标小于等于t的在排序后的下标。
若存在整数i,使得s的前i−1个字符和t的前i−1个字符相同,且s和t的第i个字符不同,则比较第i个字符的大小关系(字符的大小关系顺序由输入数据给出)。若s的第i个字符小于等于t的第i个字符,则s在排序后的下标小于等于t的在排序后的下标。
容易发现,上述排序方法排序结果是唯一的。
第一行输入一个字符串,包含26个互不相同的小写字母。记rank(c)表示字母c是该字符串的第rank(c)个字符,则字母a小于等于字母b当且仅当rank(a)≤rank(b)。
第二行输入一个整数n(1≤n≤1000),表示待排序字符串的数量。
接下来n行,每行一个仅包含小写字符的字符串si(∣si∣≤1000),表示一个待排序的字符串。
按照排序后字符串位置下标从小到大的顺序输出n行,每行一个字符串,表示排序的结果。
输入
abcdefghijklmnopqrstuvwxyz
3
aaa
aac
aaaa
输出
aaa
aaaa
aac
输入
zyxwvutsrqponmlkjihgfedcba
3
aaa
aac
aaaa
输出
aac
aaa
aaaa
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.