#2504. 排队----cx201303
排队----cx201303
Background
按身高排队是我们最常用的一种排队方法,一伙小朋友已经非常厌倦了这种排队方式,这次他们打算按每个人的姓名排队,但如果按照姓名的字典序进行排队似乎有点麻烦,所以他们找了一种比较简单的排队方法:根据姓名的长度进行排队,姓名长的排在最前面,姓名短的排在最后面。
姓名的长度他们有这样的约定:每个人的姓名只能由“a”(ASCII 码为 97)到“z” (ASCII 码为 122)这 26 个小写英文字母构成,姓名的长度就是姓名中字母的总个数。由于小朋友人数比较多,请根据他们的排队方法,编程帮助他们排队吧!
Input
【输入数据】输入文件 queue.in:输入从文件中读取,输入共 n+1 行。
第 1 行是一个整数 n(1≤n≤15000),表示总共有 n 个小朋友参加排队(编号为 1 到 n)。
第 2 行到第 n+1 行,每行一个字符串,其中第 i+1 行表示第 i 个小朋友的姓名,数据保证每个小朋友都有姓名,并且姓名的长度不超过 255。
Output
【输出数据】输出文件 queue.out:结果输出到文件中。
输出共 n 行,表示经过排队后的小朋友的姓名情况,姓名长的先输出,姓名短的后输出。
注意,当小朋友的姓名长度一样时,输出的顺序同输入的顺序(参考样例解释)。
Samples
3
aoteman
guaishou
jiqiren
guaishou
aoteman
jiqiren
Limitation
【样例解释】
有 3 个小朋友参加了排队,第 1 个小朋友的姓名长度为 7,第 2 个小朋友的姓名长度为 8,第 3 个小朋友的姓名长度为 7。因为第 2 个小朋友的姓名最长,所以最先输出,第 1 个小朋友和第 3 个小朋友的姓名长度都为 7,但在输入中,小朋友“aoteman”在小朋友“jiqiren” 的前面,所以先输出“aoteman”,然后输出“jiqiren”。
【数据范围约定】
60%的输入数据保证 1≤n≤1000,且每个小朋友的姓名长度不超过 100。
80%的输入数据保证 1≤n≤8000,且每个小朋友的姓名长度不超过 255。
100%的输入数据保证 1≤n≤15000,且每个小朋友的姓名长度不超过 255。