這一題如果是用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