Во время проведения соревнований каждому участнику был присвоен уникальный идентификационный номер в виде натурального

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

Для решения данной задачи мы можем воспользоваться методом сортировки пузырьком (Bubble Sort) в сочетании с простым условием перестановки элементов в случае равенства баллов. Давайте рассмотрим алгоритм:

1. Считываем входные данные: количество участников \( N \) и информацию о каждом участнике (идентификационный номер и количество баллов).
2. Создаем массив, в котором будем хранить информацию об участниках.
3. Производим сортировку участников по убыванию набранных ими баллов с помощью метода сортировки пузырьком.
4. При равенстве баллов сравниваем идентификационные номера и переставляем участников в порядке возрастания идентификационного номера.
5. Выводим отсортированный список участников.

Демонстрация решения:


N = int(input())
participants = []
for _ in range(N):
id_number, points = map(int, input().split())
participants.append((id_number, points))

# Сортировка участников
for i in range(N):
for j in range(N - 1):
if participants[j][1] < participants[j + 1][1] or (participants[j][1] == participants[j + 1][1] and participants[j][0] > participants[j + 1][0]):
participants[j], participants[j + 1] = participants[j + 1], participants[j]

# Вывод отсортированного списка участников
for participant in participants:
print(participant[0], participant[1])


Этот код сначала считывает данные о каждом участнике, затем сортирует их по условию задачи и выводит отсортированный список участников.

Надеюсь, это решение поможет вам успешно выполнить задачу! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.