Число пар записей въезда и выезда
Условие
Система парковки торгового центра хранит журналы въездов и выездов отдельно. Каждая строка содержит код парковочного талона. Один и тот же код может встретиться несколько раз: например, из-за повторной передачи записи с терминала.
Нужно определить, сколько строк получилось бы после соединения двух таблиц по полю ticket_code. Строка въезда и строка выезда образуют пару тогда и только тогда, когда их коды талонов совпадают.
Пусть enter[k] — число строк с кодом k в журнале въездов, а exit[k] — число строк с тем же кодом в журнале выездов. Требуется вычислить сумму Σ enter[k] × exit[k] по всем кодам k. При равенстве кодов каждая строка въезда образует отдельную пару с каждой строкой выезда с этим кодом. Код, присутствующий только в одной таблице, вносит в сумму ноль. Пропусков внутри строк нет.
Ответ является целым числом. Дробная часть отсутствует и не выводится.
Формат ввода
В первой строке даны два целых числа n и m — количество строк в журнале въездов и в журнале выездов.
В следующих n строках записаны коды талонов из журнала въездов.
В следующих m строках записаны коды талонов из журнала выездов.
Формат вывода
Выведите одно целое число — количество пар строк, которые получатся после соединения журналов по коду талона.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ m ≤ 2000.
Каждый код талона состоит из заглавных латинских букв и цифр.
Длина каждого кода талона составляет от 1 до 8 символов.
Количество пар не превосходит 4 000 000.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует