#P4536. 第3题-文件夹排序

第3题-文件夹排序

题目内容

文件夹命名经常会使用字符+数字混合命名,为了方便查看,希望文件夹排序时可以按字符序+数字值综合排序。 给定nn个文件夹名称,每个文件夹名称为v[i]v[i],请按照字符从小到大(azAZ)(a-zA-Z)及数字值从小到大的顺序排序,输出排序后的文件夹名称。

排序规则:

1.从左到右依次比较,区分大小写,字母从azAZa-zA-Z顺序排列

2.连续的数字字符整体转为整数后按从小到大排列,如001001转为数字11后排序

3.字母和数字比较时数字在前,例,'testcase1testcase1'和'testcasefailtestcasefail'排序时'testcase1testcase1'在前

4.如一个文件夹名称是另一个文件夹名称的前缀子串,则长度短的子串排在前,例:'testcase,testcase001testcase,testcase001'排序时'testcasetestcase'在前

5.两个文件夹名称排序相同时,不改变输入顺序,这里相同包括数字字符不同但转成整数后值相同,例:'testcase1testcase1'和'testcase001testcase001'排序时二者相同,保持输入顺序,'testcase1testcase1'在前

输入描述

1,第11行:nn,代表输入文件夹名称个数,范围[1,100][1,100]

2.第2行:v[0]v[0]代表第11个文件夹名称,名称只包合大小写字母和数字字符,长度[1,127][1,127],连续的数字字符数量不超过99

3.n+1第n+1行:v[n1]v[n-1], 代表第nn个文件夹名称,名称只包含大小写字母和数字字符,长度[1,127][1,127],连续的数字字符数量不超过99

输出描述

按行输出排序后的文件夹名称

样例1

输入

3
ts1tc1
ts1tc01
ts0tc1

输出

ts0tc1
ts1tc1
ts1tc01

说明

11行输入33,表示有33个文件夹

33行起分别输入33个文件夹名称'ts0tc1ts0tc1','ts1tc1ts1tc1','ts1tc01ts1tc01'排序时'tsts'部分一致,后续'00' '11' '11' 转为数字对应0,1,10,1,1,按规则排序,'ts0tc1ts0tc1'排第11,'ts1tc1ts1tc1'排经2,'ts1tc01ts1tc01'排第33

样例2

输入

2
testcase10
testcase9

输出

testcase9
testcase10

说明

11行输入22,表示有22个文件夹

22行起分别输入22个文件夹名称'testcase10testcase10','testcase9testcase9',排序时'testcasetestcase' 部分一致,然后看最后的数字部分,9<109<10,按数字由小到大排序,'testcase9testcase9'在前

输出:

testcase9testcase9

testcase10testcase10

样例3

输入

3
ts09sc1
ts01tc1
ts010tc12

输出

ts01tc1
ts09tc1
ts010tc12