ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Турниры > Тренировочный турнир сезона «Весна — 2023» > задача:


B. Макс и электронный дневник

Тренировочный турнир сезона «Весна — 2023»

Старт: 03.апр.2023 в 09:00:00
Финиш: 21.апр.2023 в 23:00:00
Турнир завершён!
• Турнирная таблица

Задачи турнира

• A. Макс и СНИЛС
• B. Макс и электронный дневник
• C. Макс и автоконтраст
• D. Макс и канцелярские товары
• E. Макс и оптимизация времени
• F. Макс и смешивание красок
• G. Макс и система регистрации
• H. Макс и угол
• I. Макс и выбор операции
• J. Макс и дизайнерская плитка

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Макс и электронный дневник
Макс и электронный дневник
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Чтобы следить за успеваемостью своих учеников, Макс начал использовать на занятиях электронный дневник.

Для очередного занятия Макс составил N задач по программированию. Задачи обозначаются первыми N буквами латинского алфавита: A, B, C и так далее. В течение занятия ученики отправляют решения задач в тестирующую систему, при этом правильные решения отмечаются в дневнике.

Дневник представляет собой таблицу, имеющую (N + 1) столбцов. Первый столбец имеет заголовок Surname и содержит фамилии учеников. Остальные столбцы озаглавлены первыми буквами латинского алфавита и содержат отметки о решении соответствующих задач.

Если i-й ученик решил j-ю задачу, то на пересечении i-й строки и (j + 1)-го столбца появляется знак + (повторные решения одной и той же задачи не учитываются). Ученики в таблице сортируются по убыванию количества решённых задач, а в случае равного количества — по алфавиту.

Фамилии в первом столбце выравниваются по левому краю. Столбцы отделяются друг от друга одиночными пробелами (после последнего столбца пробел не ставится). Все строки завершаются символом переноса строки.

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

Входные данные

Первая строка содержит целые числа N и M (1 ≤ N ≤ 26, 1 ≤ M ≤ 1000) — соответственно количество задач и количество верных решений.

Следующие M строк описывают решения задач. Каждая из них содержит строку Si (1 ≤ |Si| ≤ 20), состоящую из строчных латинских букв, и символ Pi () — соответственно фамилию ученика и идентификатор задачи. Гарантируется, что идентификатор задачи является одной из N первых букв латинского алфавита.

Выходные данные

Выведите две или более строк, содержащих таблицу дневника, отформатированную в соответствии с правилами (см. примеры).

Примеры

Входные данные
3 7
ivanov A
petrov B
sidorov A
sidorov B
petrov C
ivanov C
sidorov C
Выходные данные
Surname A B C
sidorov + + +
ivanov + +
petrov + +
Входные данные
5 8
pushkin D
akhmatova A
akhmatova D
yesenin B
tsvetayeva B
pushkin D
mayakovskiy A
pushkin B
Выходные данные
Surname     A B C D E
akhmatova + +
pushkin + +
mayakovskiy +
tsvetayeva +
yesenin +

Для отправки решений необходимо выполнить вход.

www.contester.ru