#arc0032. [arc003_2]さかさま辞書
[arc003_2]さかさま辞書
问题文
高桥君和朋友决定在聊天中玩反向绕口令游戏。
反向绕口令的规则是回答以前的人说的词的首字母结尾的词。
然而,高桥君对英语单词不自信,所以他决定偷偷使用“反向词典”。
普通的词典按照单词开头的字母顺序排列,当两个单词的首字母相同时,下一个字母按照字母顺序排列。
与普通的词典顺序不同,“反向词典”是从末尾的字母开始查找。
例如,apple, bee, card 在普通词典中的顺序是 apple → bee → card。
但在“反向词典”中,以 d 结尾的 card 排在第 1 位,以 e 结尾的 apple 和 bee 相同,所以在它们之前是以 e 结尾的 bee,排在第 2 位,在它们之前是以 l 开头的 apple,排在第 3 位。
图(a):按普通词典顺序排列的示例 图(b):按反向词典顺序排列的示例
请代替高桥君创建一个“反向词典”,并将给定的单词按照“反向词典”的顺序排列。
输入
输入通过标准输入给出,具体格式如下。 : :
- 第 1 行是一个整数 ,表示要排列的单词数。
- 第 2 行到第 N 行,每行包含一个字符串,表示要排列的单词。
- 第 i+1 行的字符串 长度在 1 到 20 之间,只包含小写字母(
a
-z
)。 - 注意,不会出现重复的单词。
输出
请按照输入中给出的单词,在反向词典顺序下,每行输出一个单词。
最后要输出一个换行符。
输入例子 1
5
chokudai
kensho
imos
yuichirw
ao
输出例子 1
chokudai
ao
kensho
imos
yuichirw
- 首先,分别查找每个单词的最后一个字母,得到 i, o, s, w。
- 但是 kensho 和 ao 的第二个字母都是 o,所以它们需要按照前一个字母的顺序排序。
- kensho 的倒数第二个字母是 h,ao 的倒数第二个字母是 a,所以按照 ao, kensho 的顺序排列。
- 因此答案是 chokudai, ao, kensho, imos, yuichirw。
输入例子 2
2
dart
art
输出例子 2
art
dart
- 比较倒数第 1、2、3 个字母,它们都相同,所以比较倒数第 4 个字母。
- 但是 art 没有第四个字母。
- 如果找不到,则认为在 a 之前,所以按照 art, dart 的顺序排列。
数据来源
ARC 003