省略了算总分和累计己方进球数和对方进球数的赘余,
for _ in range(int(input())):
team_num, match_num = map(int, input().split())
team = list(input().split())
team.sort()
dict = {}
for i in team:
dict[i] = [0] * 6
for k in range(match_num):
g1, goal1, g2, goal2 = input().split()# *直接分开给变量, 比直接套列表方便得多
if int(goal1) < int(goal2):
dict[g1][2] += 1
dict[g2][1] += 1
elif int(goal1) == int(goal2):
dict[g1][3] += 1
dict[g2][3] += 1
elif int(goal1) > int(goal2):
dict[g1][1] += 1
dict[g2][2] += 1
dict[g1][4] += int(goal1)
dict[g1][5] += int(goal2)
dict[g2][4] += int(goal2)
dict[g2][5] += int(goal1)
dict[g1][0] = dict[g1][1] * 3 + dict[g1][3]
dict[g2][0] = dict[g2][1] * 3 + dict[g2][3]
lst = sorted(list(dict.items()), key = lambda x : x[0]) # *把字典变成列表方便排序
lst2 = sorted(lst, key = lambda x : (x[1][0], x[1][4] - x[1][5], x[1][4]), reverse=True)# 这里用到了多关键字排序
print('Group',_ + 1, end = '')
print(':')# 因为预期输出的冒号和数字很近, 直接像上一行一样的话会多一个空格
for i in lst2:
print(i[0], end = ' ')
print(*i[1])
print()# 预计输出是两个回车间隔