Вениамин составляет семибуквенные слова из букв своего имени, следуя правилам: каждая буква может встречаться любое количество раз, в слове должна быть последовательность из трёх одинаковых символов, попарно разделенных любыми другими символами. (Например в слове ВЕВИВМН три буквы В разделены буквами Е и И). Сколько различных слов может составить Вениамин?
from itertools import product
s = set(’ВЕНИАМИН’)
ot = set()
for i in product(s, repeat=7):
word = ’’.join(i)
for k in range(3):
if word[k] == word[k + 2] == word[k + 4] and word[k + 1] != word[k] and word[k + 3] != word[k]:
ot.add(word)
print(len(ot))
Ответ: 15120