#GOC18301. 版本问题(versions)
版本问题(versions)
题目描述
Description
计算机软件是生命期最短的消费品之一。对商业软件来说,每年发布一个新的软件版本看起来是合适的。在版本1.0之后,我们有版本2.0,接着是版本2.1,3.0,等等。公共软件,例如GNU软件,或Liunx,它们更新生命周期甚至更短——可能每天都有一个新版本出现。
版本号通常被用来区分一种软件在不同时间的发布。大部分软件版本号都是用“.”分隔的非负整数的序列。对两个不同的版本A=a1.a2.….an和B=b1.b2.….bm,如果下面两个条件之一成立,我们认为版本A要比版本B新:
1.对某个i,我们有:对所有jbi和aj=bj;
2.n比m大,而且对所有i
在这个问题里,你要对给定的一组版本号按照上面的定义从旧到新排序。
Input
输入文件包含若干行,第一行是一个整数n(n<=20),表示要排序的版本数。接下来的n行,每行包含一个版本号。每个版本号是一个长度不超过50的字符串。你可以认为版本号都符合上面的定义。
Output
将排序的结果按以下样例的格式输出。
4
3.0.5
1
2.4
2.4.6
1
2.4
2.4.6
3.0.5