Частая биграмма показаний счётчиков
Условие
В доме собираются текстовые показания электросчётчиков. Каждая запись содержит номер квартиры и строку с показанием счётчика. Показание состоит из цифр или равно символу -, если житель не передал данные.
Биграммой называется последовательность из двух соседних символов внутри одного показания. Например, в показании 12045 встречаются биграммы 12, 20, 04, 45. Биграммы на границе двух разных показаний не образуются.
Для каждого номера квартиры из запроса требуется найти самую частую биграмму среди всех её переданных показаний. Частота биграммы b равна числу её вхождений во все подходящие показания: freq(b) = количество позиций i, для которых s[i:i+2] = b, где s пробегает переданные показания запрошенной квартиры.
Записи со значением - пропускаются. Показания длины 1 не содержат биграмм и не влияют на частоты. Если у квартиры из запроса нет ни одной биграммы, требуется вывести NONE. Если наибольшая частота достигается у нескольких биграмм, выводится лексикографически наименьшая из них.
Округление не применяется: выводятся строки биграмм или строка NONE.
Формат ввода
В первой строке даны два целых числа n и q — число записей показаний и число запросов.
В следующих n строках даны номер квартиры flat_id и показание reading, разделённые пробелом.
В следующих q строках дано по одному целому числу flat_id — номер квартиры в запросе.
Формат вывода
Выведите q строк. В строке с номером i выведите самую частую биграмму для i-го запроса или NONE, если для этой квартиры биграмм нет.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ q ≤ 100.
1 ≤ flat_id ≤ 500 во всех записях и запросах.
reading либо равно -, либо является строкой из цифр длины от 1 до 12.
Число строк с записями равно n, число строк с запросами равно q.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс