試題 算法提高 成績排序
資源限制
時間限制:1.0s 內存限制:256.0MB
問題描述
給出n個學生的成績,將這些學生按成績排序,
排序規則,優先考慮數學成績,高的在前;數學相同,英語高的在前;數學英語都相同,語文高的在前;三門都相同,學號小的在前
輸入格式
第一行一個正整數n,表示學生人數
接下來n行每行3個0~100的整數,第i行表示學號爲i的學生的數學、英語、語文成績
輸出格式
輸出n行,每行表示一個學生的數學成績、英語成績、語文成績、學號
按排序後的順序輸出
樣例輸入
2
1 2 3
2 3 4
樣例輸出
2 3 4 2
1 2 3 1
數據規模和約定
n≤100
"""
@Author:Lixiang
@Blog(個人博客地址): https://lixiang007.top/
@WeChat:18845312866
"""
import math
import string
import sys
import cmath
from itertools import permutations
n=int(input())
list1=[]
for i in range(n):
list1.append(list(map(int,input().strip().split())))
d={}
for i in range(n):
d[i+1]=list1[i]
d=sorted(d.items(),key=lambda x:x[1],reverse=True)
list2=[]
for i in range(n):
list2.append(d[i][1])
for i in range(n):
for j in list2[i]:
print(j,end=" ")
print(d[i][0])