AT_arc003_2.[ARC003B] さかさま辞書

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君决定和朋友们玩“逆向接龙”游戏。
“逆向接龙”是一种接龙游戏,要求用前一个人所说单词的首字母作为下一个单词的尾字母。
然而,高桥君对自己的英文单词不太自信,于是偷偷使用了“逆向字典”。

普通字典是按照单词首字母的字母顺序排列的,如果首字母相同,则比较下一个字母,以此类推。
与之相对,“逆向字典”是从单词的末尾字母开始比较的。
例如,apple、bee、card 按照普通字典顺序排列为 apple → bee → card。
但在“逆向字典”中,以 d 结尾的 card 排在第 11 位,apple 和 bee 都以 e 结尾,因此比较倒数第二个字母,bee 的倒数第二个字母是 e,apple 的倒数第二个字母是 l,所以 bee 排在第 22 位,apple 排在第 33 位。


图(a):普通字典顺序排列示例
图(b):逆向字典顺序排列示例

请你帮高桥君制作一个“逆向字典”,并将给定的单词按照“逆向字典”顺序排列。输入格式如下,从标准输入读入。

NN
s1s_1
s2s_2
⋮\vdots
sNs_N

  • 第 11 行是一个整数 N (1≤N≤100)N\ (1\leq N\leq 100),表示需要排列的单词数量。
  • 第 22 行到第 N+1N+1 行,每行一个字符串,表示需要排列的单词 sis_i。
  • 每个单词的长度在 11 到 2020 之间,且只包含小写英文字母(a-z)。
  • 输入中不会有重复的单词。

请将输入的单词按照逆向字典顺序,每行输出一个单词,最后输出一个换行符。

例如:

5
chokudai
kensho
imos
yuichirw
ao

输出为:

chokudai
ao
kensho
imos
yuichirw
  • 首先,比较每个单词的最后一个字母,分别为 chokudai、kensho、imos、yuichirw、ao 的 i、o、s、w、o,按字母顺序排列为 i、o、o、s、w。
  • 由于 kensho 和 ao 的最后一个字母相同(o),需要比较倒数第二个字母。
  • kensho 的倒数第二个字母是 h,ao 的倒数第二个字母是 a,a 在 h 之前,所以 ao 排在 kensho 前面。
  • 因此,最终顺序为 chokudai、ao、kensho、imos、yuichirw。

再如:

2
dart
art

输出为:

art
dart
  • 两个单词从末尾依次比较,每一位都相同,直到 art 已经没有更多字母可比,此时 art 应排在 dart 前面。

输入格式

第 11 行包含一个整数 NN,表示单词数量。
接下来的 NN 行,每行一个字符串 sis_i,表示需要排列的单词。

输出格式

按逆向字典顺序,每行输出一个单词。最后输出一个换行符。

说明/提示

  • 单词数量 1≤N≤1001 \leq N \leq 100。
  • 每个单词长度 1≤∣si∣≤201 \leq |s_i| \leq 20。
  • 单词仅包含小写英文字母。
  • 输入中不会有重复单词。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页