Мышиный король составляет 7-буквенные слова из букв М, Ы, Ш, И, причём сочетание МЫШ обязательно должно быть в слове. Все буквы могут встречаться в слове любое количество раз или не встречаться совсем, если соблюдается условие. Сколько слов может составить Мышиный король?
Решение через циклы
counter = 0
for a1 in (’МЫШИ’):
for a2 in (’МЫШИ’):
for a3 in (’МЫШИ’):
for a4 in (’МЫШИ’):
for a5 in (’МЫШИ’):
for a6 in (’МЫШИ’):
for a7 in (’МЫШИ’):
s = a1 + a2 + a3 + a4 + a5 + a6 + a7
if s.count(’МЫШ’) >= 1:
counter += 1
print(counter)
Решение через itertools
from itertools import product
count = set()
for x in product(’МЫШИ’,repeat = 7):
s = ’’.join(x)
if ’МЫШ’ in s:
count.add(s)
print(len(count))