Задача к ЕГЭ по информатике на тему «подсчет количества слов/чисел» №21

Вениамин составляет семибуквенные слова из букв своего имени, следуя правилам: каждая буква может встречаться любое количество раз, в слове должна быть последовательность из трёх одинаковых символов, попарно разделенных любыми другими символами. (Например в слове ВЕВИВМН три буквы В разделены буквами Е и И). Сколько различных слов может составить Вениамин?

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
Оцените статью
Я решу все!