Текстовые решения некоторых заданий
4. СтатГрад 2021 1
4.2. Решение itertools
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Й может использоваться в коде не более одного раза, при этом она не может стоять на первом месте, на последнем месте и рядом с буквой И. Все остальные буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Тимофей?
#Подключаем библиотеку itertools
from itertools import *
#Формируем комбинации длины 5
p=product("ТИМОФЕЙ",repeat=5)
#Создаем переменную для подсчета комбинаций
res=0
#Перебираем комбинации
for c in p:
#Формируем строку из получившейся комбинации
st=c[0]+c[1]+c[2]+c[3]+c[4]
#Если символов Й не больше 1
#Первый символ не Й
#Последний символ не Й
#Не встречается пара ЙИ
#Не встречается пара ИЙ
if(st.count("Й")<=1 and st[0]!="Й" and st[4]!="Й"\
and st.count("ЙИ")==0 and st.count("ИЙ")==0):
#Увеличиваем кол-во результатов на 1
res+=1
#Выводим результат
print(res)
Ответ: 10476.