- Описание
- Отправленные решения
9. Уникальные пользователи
Пользователи заходят в приложение, вводя свой почтовый адрес. Мы получили логи с нескольких приложений и хотим посчитать количество уникальных пользователей, заходивших в них.
Почтовые адреса состоят из маленьких латинских букв, точек (.), дефисов (-) и одной «собаки» (@). Часть до «собаки» назовем логином, после «собаки» - доменом.
Пользователь может добавлять сколько угодно точек в свой логин, они игнорируются, вход при этом все равно будет успешным. Также пользователь может добавить дефис в свой логин, тогда часть логина после дефиса и сам дефис игнорируются.
Например stalker@yandex.ru
и s.t.a.l.k.e.r.@yandex.ru
считаются одним пользователем, super-user@yandex.ru
и sup.er@yandex.ru
тоже считаются одним пользователем.
Эти правила не применяются к домену. Два пользователя с одинаковым логином, но разными доменами считаются разными.
Назовем окончанием домена подстроку после последней точки. Тогда два домена, отличающиеся только окончаниями, считаются одинаковыми. Например
super@mail.yandex.ru
и super@mail.yandex.com
- один пользователь, super@yandex.com
и super@yandex.co.uk
- разные пользователи.
При решении на языке Dart используйте ввод и вывод через файлы, стандартный поток ввода работает слишком медленно.
Формат ввода
В первой строке входных данных находится одно число $N$ - количество почтовых адресов в логах.
В последующих $N$ строках находится $N$ почтовых адресов $M_i$, по одному адресу в каждой строке.
Гарантируется, что каждый адрес содержит символ @, а каждый домен содержит хотя бы точку. Логин может быть пустым.
Ограничения
$0\ \text{\textless}\ N\ \text{\textless}\ 10^5\newline$ $4 \le M_i.length\ \text{\textless}\ 50\ \newline$Формат вывода
Выведите одно число - количество уникальных пользователей.
Ограничения
Ограничение времени
2 с
Ограничение памяти
254,73 МБ
Пример 1
2
s.t.a.l.k.e.r.@yandex.ru
stalker-winner@yandex.com
1
Пример 2
2
user@yandex.ru
user@ya.ru
2
Пример 3
4
s.t.a.l.k.e.r.@yandex.ru
stalker-winner@yandex.com
user@yandex.ru
user@mail.yandex.ru
3