Результаты олимпиады
Во время проведения олимпиады каждый из участников получил свой идентификационный номер — натуральное число. Необходимо отсортировать список участников олимпиады по количеству набранных ими от больших к меньшим, а при равенстве — по возрастанию идентификационных номеров. Встроенные алгоритмы сортировки не использовать.
Входные данные
На первой строке дано число
N(1≤N≤1000)
N(1≤N≤1000)
— количество участников. На каждой следующей строке даны идентификационный номер и набранное число соответствующего участника. Все числа во входном файле не превышают
10
5
105
.
Выходные данные
В выходной файл выведите исходный список в порядке убывания . Если у некоторых участников одинаковые , то их между собой нужно выводить в порядке возрастания дам максимум

vladbb2017 vladbb2017    1   30.05.2020 12:03    104

Ответы
BlackNeck730 BlackNeck730  31.05.2020 00:07

n=int(input())

from array import*

a=[]

b=[]

c= True

for i in range(n):

n,k=map(int,input().split())

a.append(n)

b.append(k)

for i in range(len(b) - 1):

imin = i

for j in range(i + 1, len(b)):

if b[j] < b[imin]:

imin = j

b[i], b[imin] = b[imin], b[i]

a[i], a[imin] = a[imin], a[i]

for i in range( 1,len(b)):

if b[i]==b[i-1]:

if a[i]>a[i-1]:

b[i],b[i-1]=b[i-1],b[i]

a[i], a[i-1] = a[i-1], a[i]

a.reverse()

b.reverse()

for i in range(len(a)):

print(a[i],b[i])

Объяснение:

вроде работает

python

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика