牛牛参加了这个赛季的牛王挑战赛,这个赛季一共有 只队伍参赛,每只队伍都会与其它队伍进行一场三局两胜的较量,赢一大场则大场分数 ,赢一小场则小场分数 ,输一小场则小场分数 ,在所有比赛结束之后,大场得分高的排名靠前,否则小场得分高的排名靠前,特殊的,如果有两支队伍大场、小场得分均相同,那么他们最终排名相同,而在最终排名上出现的次序按照队名字典序顺序。
你为了帮助牛牛预测排名,特意写了一个能够快速排序的算法,牛妹为了测试该算法的正确性,给出了若干组数据。
本题为多组测试数据,第一行输入一个正整数 ,代表测试数据的组数。
对于每个测试数据,第一行输入一个正整数 ,代表参赛战队数量。
接下去 行,每行代表一个战队的赛季对战信息,信息第一行输入一个仅由小写字母组成的字符串 ,两个整数 ,分别代表该战队的队名,大场得分以及小场得分。
对于每个测试数据,在一行内按照赛季总排名从前到后的顺序输出 支战队的队名。
1 4 nowcoder 2 4 new 1 2 ss 1 2 now 1 2
nowcoder new now ss
T = int(input()) from functools import cmp_to_key def cmp(a, b): if a[1] == b[1] and a[2] == b[2]: if a[0] <= b[0]: return -1 else: return 1 elif a[1] == b[1]: if a[2] >= b[2]: return -1 else: return 1 else: if a[1] >= b[1]: return -1 else: return 1 for _ in range(T): n = int(input()) arr = [] for i in range(n): tmp = input().split() arr.append([tmp[0], int(tmp[1]), int(tmp[2])]) ans = sorted(arr, key=cmp_to_key(cmp)) for j in ans: print(j[0], end=' ')