Присоединиться

11 класс·высокий уровень

Каждый участник регистрируется на сайте игры под определённым игровым

Условие

Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам: 1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.2. Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат (количество набранных очков) фиксируется и заносится в протокол.3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.4. Окончательный результат участника определяется по одной, лучшей для данного участника игре.5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат. В ходе соревнований заполняется протокол, каждая строка которого описывает одну игру и содержит результат участника и его игровое имя. Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому строки в нём расположены в порядке проведения игр: чем раньше встречается строка в протоколе, тем раньше закончилась соответствующая этой строке игра. Спонсор чемпионата предоставил призы различной ценности для награждения К лучших игроков (К<=20). Если участников окажется меньше К, призами награждаются все. Вам необходимо написать эффективную, в том числе по памяти, программу, которая по данным протокола определяет К лучших игроков и занятые ими места. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию. Описание входных данныхПервая строка содержит числа К — количество имеющихся призов и N — общее количество строк протокола.Каждая из следующих N строк содержит записанные через пробел результат участника (целое положительное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе. Описание выходных данныхПрограмма должна вывести имена и результаты К лучших игроков в порядке занятых мест по форме, приведённой ниже в примере. Если игроков окажется меньше К, нужно вывести данные обо всех игроках. Пример входных данных: 6 1569485 Jack 95715 qwerty 95715 Alex 83647 M 197128 qwerty 95715 Jack 93289 Alex 95715 Alex 95715 M32768 BilboBaggins 99824 TetrisMaster 45482 BilboBaggins 62123 BilboBaggins 77623 M 56791 Champion Пример выходных данных для приведённого выше примера входных данных:1. qwerty (197128)2. TetrisMaster (99824)3. Alex (95715)4. Jack (95715)5. M (95715)6. BilboBaggins (62123)

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Программа читает входные данные, не запоминая в массиве информацию обо всех сделанных попытках.

Осталось ещё 8 шагов

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

  7. Шаг 8

  8. Шаг 9

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка символьных строк»

Каждый участник регистрируется на сайте игры под определённым игровым — решение с объяснением | Lom Ai