100 atcoder#ABC219C. [ABC219C] Neo-lexicographic Ordering
[ABC219C] Neo-lexicographic Ordering
题目描述
AtCoder 王国を治める高橋君は、英小文字のアルファベット順を変更することにしました。
新たなアルファベット順はa
b
z
を並べ替えて得られる文字列 を用いて表されます。 の 文字目は、新たな順番において 番目に小さい英小文字を表します。
AtCoder 王国には 人の国民がおり、それぞれの国民の名前は です。ここで、 は英小文字からなります。
これらの名前を、高橋君の定めたアルファベット順に基づく辞書順に従って並べ替えてください。
辞書順とは? 辞書順とは簡単に説明すると「単語が辞書に載っている順番」を意味します。より厳密な説明として、英小文字からなる相異なる文字列 の大小を判定するアルゴリズムを以下に説明します。
以下では「 の 文字目の文字」を のように表します。また、 が より辞書順で小さい場合は 、大きい場合は と表します。
- のうち長さが大きくない方の文字列の長さを とします。 に対して と が一致するか調べます。
- である が存在する場合、そのような のうち最小のものを とします。そして、 と を比較して、 が よりアルファベット順で小さい場合は 、そうでない場合は と決定して、アルゴリズムを終了します。
- である が存在しない場合、 と の長さを比較して、 が より短い場合は 、長い場合は と決定して、アルゴリズムを終了します。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
行出力せよ。 行目には、高橋君の定めたアルファベット順に基づく辞書順に従って国民の名前を並べ替えたとき、 番目に小さいものを出力すること。
题目大意
给定一个字符串 ,保证其长度为 且由a
到z
的所有字母重新排列而成。当甲字符比乙字符在 中先出现时,甲字符小于乙字符。
同时给出 个字符串 。请将 按照新定义的字典序重新排序后输出。
bacdefghijklmnopqrstuvwxzy
4
abx
bzz
bzy
caa
bzz
bzy
abx
caa
zyxwvutsrqponmlkjihgfedcba
5
a
ab
abc
ac
b
b
a
ac
ab
abc
提示
制約
- は
a
b
z
を並べ替えて得られる - は整数
- $ 1\ \leq\ |S_i|\ \leq\ 10\ \,\ (1\ \leq\ i\ \leq\ N) $
- は英小文字からなる
Sample Explanation 1
高橋君が新たに設定したアルファベット順において、b
は a
より小さく、z
は y
より小さいです。そのため、国民の名前を辞書順に並べ替えると、小さい順に bzz
bzy
abx
caa
となります。