传统题 1000ms 256MiB

短词索引

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题意:

给定 nn 个只含英文字母的单词,第 ii 个输入单词的编号为 ii。需要按以下规则排列所有单词:

  1. 长度较短的排在前面。
  2. 长度相同时,忽略字母大小写,按字典序从小到大排列。
  3. 如果忽略大小写后仍完全相同,输入编号较小的排在前面。

忽略大小写,是指仅在比较时将大写字母视为对应的小写字母。输出时必须保留原单词的大小写。同一个单词多次出现时,每次都要保留。

字典序比较从左到右进行,第一个不同位置的字母按 a 到 z 的顺序决定大小;一方是另一方的完整前缀时,较短的一方更小。

输入格式:

第一行一个整数 nn(1≤n≤1051 \le n \le 10^5),表示单词数量。

接下来 nn 行,第 ii 行一个字符串 sis_i(1≤∣si∣≤201 \le |s_i| \le 20),仅由大写或小写英文字母组成。

输出格式:

输出 nn 行,按规定顺序给出输入编号和原单词,以一个空格分隔。

样例:

样例输入:

7
aB
AB
a
aa
B
A
ab

样例输出:

3 a
6 A
5 B
4 aa
1 aB
2 AB
7 ab

样例解释:

长度为 11 的单词先输出,其中 a 与 A 忽略大小写后相同,按输入编号排序。aB、AB、ab 的比较结果也相同,因此保留它们的输入先后顺序。

C++ Programming Practice Round 1

未参加
状态
已结束
规则
XCPC
题目
10
开始于
2026-10-17 0:00
结束于
2026-10-24 0:00
持续时间
168 小时
主持人
参赛人数
13