Корректные даты кормления
Условие
В зоопарке ведётся журнал кормления животных. Каждая строка журнала содержит имя животного, вольер и дату кормления. Часть дат была введена с ошибками, а вместо неизвестной даты может стоять символ -.
Корректной считается дата вида DD.MM.YYYY, где день, месяц и год записаны ровно двумя, двумя и четырьмя цифрами соответственно. Год должен быть от 2020 до 2030 включительно, а день должен существовать в указанном месяце по правилам григорианского календаря. Год является високосным, если он делится на 400 или делится на 4 и не делится на 100.
В конце входа задан запрос: несколько названий вольеров. Требуется посчитать количество строк журнала, у которых вольер указан в запросе и дата кормления корректна. Каждая строка учитывается отдельно.
Если две или несколько строк полностью совпадают, каждая из них всё равно учитывается отдельно.
Формат ввода
В первой строке дано целое число n — количество строк журнала.
В следующих n строках записаны через пробел три значения: animal, enclosure, date — имя животного, название вольера и строка с датой кормления.
В следующей строке дано целое число q — количество вольеров в запросе.
В следующих q строках записаны названия вольеров из запроса. Все названия вольеров в запросе различны.
Формат вывода
Выведите одно целое число — количество строк с корректной датой кормления для вольеров из запроса.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ q ≤ 20.
Длина animal — от 1 до 20 символов латинского алфавита в нижнем регистре.
Длина enclosure и каждого названия в запросе — от 1 до 20 символов латинского алфавита в нижнем регистре.
Длина date — от 1 до 12 символов. Строка даты не содержит пробелов.
В строках журнала могут встречаться повторяющиеся животные, повторяющиеся записи, некорректные даты и символ - вместо даты.
Вольер из запроса может не встречаться ни в одной строке журнала. В этом случае он добавляет к ответу 0.
Ответ является целым числом. Дробная часть отсутствует и округление не применяется.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать