0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 28

Задача на массивы - олимпиада и победители

13.06.2019, 09:44. Показов 10269. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите решить задачу.
Сама задача вот.
Во время проведения олимпиады каждый из участников получил свой идентификационный номер – натуральное число. Необходимо отсортировать список участников олимпиады по количеству набранных ими баллов.

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


Решается, выводит ответ, но не в том формате, как надо, видимо. Где накосячил?

Должно быть так:
Входные данные
3
101 80
305 90
200 14
Выходные данные
305 90
101 80
200 14

Вот программа:

Python
1
2
3
4
5
6
7
8
9
10
11
12
def printMatrix ( matrix ): 
   for row in matrix: 
     for x in row: 
       print ( "{:4d}".format(x), end = "" )
     print ()
      
n = int(input())
a = []
for i in range(n):
   a.append(list(map(int, input().split())))
a.sort(key = lambda x: x[1], reverse=True)
printMatrix (a)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2019, 09:44
Ответы с готовыми решениями:

Олимпиада задача
Напишите функцию joys of flying(), которая будет подводить промежуточные итоги - где интересней - снизу или сверху. А делать надо вот...

Задача(олимпиада)
Петр участвует в конкурсе, в котором разыгрывается n призов. Призы пронумерованы от 1 до n. По итогам конкурса участник может набрать от...

Тетрис, олимпиада задача
Добрый день! Прошу помочь в решении задачи, бьюсь уже третий день, не пойму что не предусмотрел. Сама задача: В одной малоизвестной...

4
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
13.06.2019, 10:52
Может быть дело в пробелах, которые добавляются в результат (в начало строки)?
Python
1
print (x, end=" ")
0
 Аватар для Semen-Semenich
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,298
13.06.2019, 19:36
ну явно в функции косяк.
Python
1
2
3
def printMatrix ( matrix ): 
   for row in matrix:  
       print (*row)
но судя по условию вам надо вывести результат в выходной файл а не в принт а условие
Цитата Сообщение от yankis Посмотреть сообщение
Если у некоторых участников одинаковые баллы, то их между собой нужно упорядочить в порядке возрастания идентификационного номера.
не выполняется
вход
4
101 80
305 90
202 14
200 14
вывод
305 90
101 80
202 14
200 14

как видно при одинаковых баллах ид не сортируются по возрастанию
0
0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 28
13.06.2019, 21:20  [ТС]
Спасибо, как то не правильно прочитал условие, сейчас исправлю. Функцию тоже уже исправил.
0
3 / 3 / 1
Регистрация: 03.01.2020
Сообщений: 11
18.05.2020, 19:57
найдите пожалуйста ошибку, на любых тестах работает правильно, лишних пробелов нет *_*
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = int(input())
a =[list(map(int, input().split())) for i in range(n)]      
for i in range(n - 1):
    for j in range(i + 1, n):
        if a[i][1] < a[j][1]:
            a[i], a[j] = a[j], a[i]
for i in range(n-1):
    if a[i][1] == a[i+1][1] and a[i][0] > a[i+1][0]:
        a[i],a[i+1] = a[i+1], a[i]
for i in range(n):
    a[i][0] = str(a[i][0])
    a[i][1] = str(a[i][1])
for i in range(n):
    print(' '.join(a[i]))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2020, 19:57
Помогаю со студенческими работами здесь

Задача на сумму индексов (Олимпиада, 11 класс)
Строка разбивается на элементы по 5 символов в каждом. Найти сумму индексов элементов, содержащих хотя бы одну цифру и ни одной гласной...

Задача олимпиада. Полное решение расписать.
Пусть дана некоторая упорядоченная конечная система действительних отличних от нуля чисел 1,3,-2,1,-4,-8,-3,4,1 ...

Дописать на доску какое‑нибудь число так, чтобы описанное условие снова начало выполняться
Зайдя в класс, Вова увидел на доске три числа, записанные в ряд. Он не заметил никакой взаимосвязи между ними, и ему сказали, что...

Школьная олимпиада. Задача с кубиками (самая сложная из всех задач)
Очки на игральных кубиках распологаются так, чтобы совпадали суммы чисел на противоположных гранях: 1+6 = 2+ 5 = 7. Составьте программу,...

Победители турнира
Победители турнира. Главным событием года был рыцарский турнир, на который съезжались лучшие рыцари со всей страны. Турнир состоял из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru