1465: 包含数字的成语(进阶版)

Memory Limit:128 MB Time Limit:1.000 S Judge Style:Text Compare Creator:
Submit:1 Solved:1

Description

给定一组成语,对包含了数字的成语进行分类输出。如果成语中包含了数字“一、二、三、四、五、六、七、八、九、十、百、千、万、亿”则认为该成语包含数字。没有数字的成语不排序,成语中数字数字大小顺序以上述顺序为准。含有数字的成语从小到大的排序规则如下:将成语中的数字按从左到右的顺序抽取出来后作为它的“排序数串”,每个数字作为排序数串的“一位”,按字符串比较的规则确定排序数串的大小顺序,例如成语“三心二意”的排序数串为“三二”。比方说,排序数串有如下顺序:“一”<“一一”<“一五”<“一五一十”<“二”<“十”<“十十”< “百”<“千”<“千千万万”<“万”<“亿”。如果排序数串相同则按成语输入时顺序排序。

不允许普通用户打印题目,请教师登录后使用。如有疑问请联系管理员!

Input

第一行一个整数n表示成语的个数,0<n≤35000。其后的一行包含n个成语。输入的成语最长不超过20个汉字字符。每个汉字字符的编码均使用GBK标准的双字节编码。

Output

按以上定义次序输出带数字的成语,每个成语占一行。对于有数字的成语,每行输出如下四项信息:输出顺序号、成语、成员在原始输入中的顺序号、排序数串。四项信息用空格分隔。顺序号均从1开始计数。

如果没有任何有数字的成语,则输出“无数字成语”。

Sample Input Copy

35
一马当先 毫无二致 孟母三迁 志在四海 学富五车 六神无主 七窍生烟 耳听八方 言重九鼎 十指连心 百发百中 千钧重负 包罗万象 亿兆一心 英雄所见略同 真金不怕火炼 踏破铁鞋无觅处,得来全不费功夫 解铃还须系铃人 三心二意 九九归一 九牛一毛 一心一意 不管三七二十一 百闻不如一见 百无一用 不名一文 不一而足 独一无二 多一事不如少一事 佛高一尺,魔高一丈 挂一漏万 一言九鼎 万无一失 万众一心 千军易得,一将难求

Sample Output Copy

1 一马当先 1 一
2 不名一文 26 一
3 不一而足 27 一
4 一心一意 22 一一
5 多一事不如少一事 29 一一
6 佛高一尺,魔高一丈 30 一一
7 独一无二 28 一二
8 一言九鼎 32 一九
9 挂一漏万 31 一万
10 毫无二致 2 二
11 孟母三迁 3 三
12 三心二意 19 三二
13 不管三七二十一 23 三七二十一
14 志在四海 4 四
15 学富五车 5 五
16 六神无主 6 六
17 七窍生烟 7 七
18 耳听八方 8 八
19 言重九鼎 9 九
20 九牛一毛 21 九一
21 九九归一 20 九九一
22 十指连心 10 十
23 百闻不如一见 24 百一
24 百无一用 25 百一
25 百发百中 11 百百
26 千钧重负 12 千
27 千军易得,一将难求 35 千一
28 包罗万象 13 万
29 万无一失 33 万一
30 万众一心 34 万一
31 亿兆一心 14 亿一

HINT

特别提醒:因为中文字符在Windows下通常为GBK编码,一个中文字符编码为2字节。但是在Linux系统下,中文字符通常采用UTF-8的3字节编码,因此请注意你所使用本地计算机系统(通常为Windows)所使用中文编码与本练习系统服务器(采用Linux)的中文采用UTF-8编码的区别。