做了几个排序的题,难度不大,做完可能只算熟悉一下sort和sorted两个函数,巩固一下基础。还是记录一下。过两天有空看一下快速排序吧
1.[NOIP2006 普及组] 明明的随机数
N=int(input())
L=set(map(int,input().split()))
L=sorted(L)
print(len(L))
for i in range(0,len(L)):
print(L[i],end=" ")
2.[USACO07DEC]Bookshelf B
N,S=map(int,input().split())
H=list()
k=0
for x in range(0,N):
H.append(int(input()))
H.sort(reverse=True)
for x in range(0,N):
k+=H[x]
if k>=S:
break
print(x+1)
3.【深基9.例1】选举学生会
n,m=map(int,input().split())
vote=list(map(int,input().split()))
vote.sort()
for x in range(0,m):
print(vote[x],end=" ")
4.[NOIP2007 普及组] 奖学金
def sortkey(L):
return L[3]
n=int(input())
L=list()
t=list()
for i in range(0,n):
L.append(list(map(int,input().split())))
SUM=L[i][0]+L[i][1]+L[i][2]
L[i].append(SUM)
L[i].append(i+1)
L.sort(key=sortkey,reverse=True)
for i in range(0,n-1):
if L[i][3]==L[i+1][3]:
if L[i][0]==L[i+1][0]:
if L[i][4]>L[i+1][4]:
L[i],L[i+1]=L[i+1],L[i]
if L[i][0]<L[i+1][0]:
L[i],L[i+1]=L[i+1],L[i]
for i in range(0,5):
print(L[i][4],L[i][3])