Корректные даты в дневнике тренировок
Условие
В спортивном клубе хранятся две таблицы. В первой таблице указаны зарегистрированные бегуны, во второй — записи их дневников тренировок.
Запись дневника сопоставляется с бегуном по идентификатору runner_id. Если идентификатор из записи отсутствует в таблице бегунов, такая запись считается пропуском связи и отбрасывается.
Дата корректна, если она имеет вид YYYY-MM-DD и задаёт существующую дату григорианского календаря. Год состоит из четырёх цифр, месяц и день состоят из двух цифр. Год является високосным, если он делится на 400 или делится на 4 и не делится на 100. Записи с некорректной датой, включая значение NA, отбрасываются. Требуется вывести число оставшихся записей, то есть число строк второй таблицы, для которых одновременно существует бегун с таким runner_id и дата корректна.
Равенств при вычислении ответа не возникает, так как ответом является количество записей.
Формат ввода
В первой строке даны два целых числа n и m — число бегунов и число записей дневника.
В следующих n строках находятся данные таблицы бегунов: два поля runner_id и name, разделённые пробелом.
В следующих m строках находятся данные таблицы дневника: три поля runner_id, date и distance, разделённые пробелом. Поле date является строкой без пробелов. Значение NA означает, что дата отсутствует.
Формат вывода
Выведите одно целое число — количество записей дневника, оставшихся после отбрасывания записей без соответствующего бегуна и записей с некорректной датой.
Дробная часть отсутствует, выводится целое число.
Ограничения
1 ≤ n, 1 ≤ m, n + m ≤ 2000.
1 ≤ runner_id ≤ 10^9.
Идентификаторы бегунов в первой таблице различны.
Длина name составляет от 1 до 20 символов латинского алфавита.
Длина date составляет от 1 до 10 символов. Если дата не равна NA, она состоит только из цифр и символов -.
0 ≤ distance ≤ 200.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам