Самая частая путаница разделов сайта
Условие
В журнале посещений школьного сайта для части визитов сохранены два значения: раздел, который посетил пользователь на самом деле, и раздел, предсказанный моделью классификации. Значение - во втором поле означает, что модель не выдала предсказание.
Путаницей называется упорядоченная пара различных разделов (a, b): фактический раздел равен a, а модель предсказала b. Строки с пропущенным предсказанием и строки, где фактический и предсказанный разделы совпадают, путаницами не считаются.
В последней части входа задан запрос из нескольких фактических разделов. Рассматриваются только путаницы, у которых первый элемент пары входит в запрос. Требуется найти самую частую такую пару. Частота пары (a, b) равна числу строк журнала, в которых фактический раздел равен a, а предсказанный раздел равен b.
Гарантируется, что для запроса существует хотя бы одна подходящая путаница. Если наибольшая частота достигается у нескольких пар, выводится лексикографически меньшая пара: сначала сравниваются первые названия, затем вторые. Округление не применяется, так как ответ состоит из двух строковых меток.
Формат ввода
В первой строке даны два целых числа n и q — число строк журнала и число разделов в запросе.
В следующих n строках даны два значения actual_section predicted_section через пробел: фактический раздел и предсказанный моделью раздел. Предсказанный раздел может быть равен -.
В следующих q строках записаны названия разделов запроса. Названия в запросе не повторяются.
Формат вывода
Выведите через пробел два названия: фактический раздел и предсказанный раздел в самой частой подходящей путанице.
Ограничения
1 ≤ n ≤ 4000.
1 ≤ q ≤ 12.
Название раздела состоит из строчных латинских букв, его длина составляет от 1 до 20 символов.
В журнале и запросе используется не более 12 различных названий разделов.
Длина значения предсказанного раздела равна от 1 до 20 символов либо оно равно -.
Каждый раздел из запроса встречается хотя бы в одной строке журнала как фактический раздел.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс