Coder-Strike 2014 - Раунд 1 |
---|
Закончено |
Один из важнейших продуктов компании R1 — популярный почтовый сервис @r1.com. Ежедневно почтовые ящики R1 принимают и отправляют миллионы писем.
Сегодня в интернет-новостях прогремела ужасная новость. База данных R1 «упала», почти никакие данные не удалось сохранить, кроме одной большой строки, в которой по предположению разработчиков находятся письма некоторых пользователей почты R1. Восстановление писем — весьма трудоемкий плохо-автоматизируемый процесс. Поэтому перед запуском этого процесса было решено оценить, насколько оправдано восстановление. А именно, нужно посчитать сколько различных подстрок сохраненной строки образуют корректные e-mail адреса.
Будем считать корректными только e-mail адреса, которые удовлетворяют следующим правилам:
Вам опять повезло, и задание доверили вам! Обратите внимание, что подстрока — это несколько подряд идущих в строке символов. Две подстроки: состоящая из символов строки с номерами l1, l1 + 1, l1 + 2, ..., r1 и состоящая из символов строки с номерами l2, l2 + 1, l2 + 2, ..., r2, считаются различными, если l1 ≠ l2 или r1 ≠ r2.
В первой и единственной строке записана последовательность символов s1s2... sn (1 ≤ n ≤ 106) — сохраненная строка. Гарантируется, что заданная строка содержит только маленькие английские буквы, цифры и символы «.», «_», «@».
Выведите в единственной строке количество подстрок, которые являются корректными e-mail адресами.
[email protected]
18
[email protected]@[email protected]
8
[email protected]
1
.asd123__..@
0
В первом тестовом примере все подстроки, являющиеся корректными e-mail адресами, начинаются в одной из букв слова agapov, а заканчиваются в одной из букв слова com.
Во втором тестовом примере обратите внимание, что e-mail [email protected] считается в ответе два раза. Заметьте, что в этом примере вхождения e-mail перекрываются внутри строки.
Название |
---|