Уникальные слова в описаниях покупок
Условие
В системе анализа чеков каждая строка содержит текстовое описание товаров из одного чека. Часть описаний может отсутствовать: такая строка обозначается одним символом -.
Перед анализом каждое слово нормализуется: все буквы переводятся в нижний регистр, затем из слова удаляются символы ,, ., ?, ;, :. Словом считается последовательность символов между пробелами в исходной строке. После нормализации из текста удаляются стоп-слова.
Требуется найти количество уникальных слов, оставшихся во всех непустых описаниях чеков. Если несколько исходных слов после нормализации совпадают, они считаются одним уникальным словом. Описание - не содержит слов и пропускается.
Выводится точное целое число, округление не применяется.
Формат ввода
В первой строке даны два целых числа n и k — количество описаний чеков и количество стоп-слов.
Во второй строке через пробел записаны k стоп-слов в нижнем регистре.
В следующих n строках записаны описания чеков. Каждая строка либо равна -, либо содержит слова, разделённые одним пробелом.
Формат вывода
Выведите одно целое число — количество уникальных слов после нормализации и удаления стоп-слов.
Ограничения
1 ≤ n ≤ 1000.
1 ≤ k ≤ 10.
Длина каждого стоп-слова составляет от 1 до 30 символов.
Каждое непустое описание содержит от 1 до 30 слов, длина строки описания не превышает 200 символов.
Слова состоят из русских букв, к слову могут быть приписаны символы ,, ., ?, ;, :. Символы пунктуации могут встречаться в начале, конце или середине записи слова.
Во входных данных нет других пропусков, кроме строки -.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому