Словарь названий выданных книг

тема: Текст: мешок слов и TF-IDF · уровень: базовый

Условие

В библиотеке хранятся две таблицы. В первой таблице находится каталог книг: идентификатор книги и её название. Во второй таблице записаны операции выдачи: идентификатор операции и идентификатор выданной книги.

Для каждой строки таблицы выдач библиотека находит книгу с таким же идентификатором в каталоге. Если книга найдена, все слова её названия добавляются в текстовый корпус. Одна и та же книга может быть выдана несколько раз, и тогда слова её названия добавляются столько раз, сколько было выдач.

Словом считается последовательность строчных латинских букв, отделённая от других слов пробелами. Частота слова равна числу его появлений в корпусе. В словарь включаются слова с частотой не меньше порога k. Требуется вывести размер словаря. Записи о выдаче с идентификатором книги, отсутствующим в каталоге, нужно игнорировать. При частоте, равной k, слово сохраняется в словаре.

Формат ввода

В первой строке находятся три целых числа n, m и k: число строк каталога, число строк таблицы выдач и порог частоты.

В следующих n строках записан каталог. Каждая строка имеет вид book_id<TAB>title, где book_id — идентификатор книги, title — название книги из одного или нескольких слов. Между идентификатором и названием находится один символ табуляции.

В следующих m строках записана таблица выдач. Каждая строка содержит два целых числа issue_id и book_id.

Формат вывода

Выведите одно целое число — количество слов, частота которых в корпусе не меньше k.

Выведите целое число, округление не требуется.

Ограничения

1 <= n <= 1000.

0 <= m <= 1000.

n + m <= 1000.

1 <= k <= 1000.

1 <= book_id <= 10^9.

1 <= issue_id <= 10^9.

Идентификаторы книг в каталоге различны. Идентификаторы операций выдачи различны.

Название каждой книги содержит от 1 до 10 слов. Длина каждого слова составляет от 1 до 12 строчных латинских букв. Длина названия не превышает 120 символов.

Таблица выдач может быть пустой. В этом случае корпус пуст, а ответ равен 0.

Решить задачу с автопроверкой на Python →

Куда дальше