Сколько коллизий даёт один модуль
1000 мс · 256 МБ · всё или ничего
Даны строка , длина и параметры полиномиального хеша - основание и модуль . Хеш куска длины , начинающегося в позиции , считается как
где буква кодируется своим ASCII-кодом.
Посчитайте количество пар позиций , у которых хеши совпали, а сами куски различны. Это и есть число коллизий.
Формат ввода
В первой строке - строка из строчных латинских букв ().
Во второй строке - числа , и (, ).
Формат вывода
Выведите количество пар позиций, у которых хеши совпали, а куски различны.
Примеры
ввод
aaaa 2 31 1000000007
вывод
0
ввод
abab 2 31 1000000007
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.