В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
LOSS903903
LOSS903903
20.07.2022 19:22 •  Информатика

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

Показать ответ
Ответ:
ekaterinkavlas1
ekaterinkavlas1
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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота