这一题如果是用c来写的话,要用到结构体的多级排序,而我发现用python来写的话,如果用sorted函数,只要一句代码就搞定了,看下面这个结构体:
struct node{
string name,
int year,
int month,
int day,
};
通常我们需要自定义写我们的cmp函数,但是我发现在pyhon当中,from operator import itemgetter, attrgetter 这两个东西来做排序而很方便,如下:
res=sorted(res,key=itemgetter(1,2,3))
这样我们发现,就先按year,month,day这样的顺序做好排序了。
这一题的python代码如下: 1 import os
2 from operator import itemgetter, attrgetter
3
4 N=int(raw_input())
5 res=[]
6 for i in range(N):
7 in_s=raw_input()
8 li=in_s.split() #default split with blank
9 res.append(tuple(li))
10
11 #sorted(students, key=itemgetter(1,2))
12
13 res=sorted(res,key=itemgetter(1,2,3))
14
15 for i in range(N):
16 print res[i][0]
17
18