Светлана составляет коды из букв своего имени. Код должен состоять из 8 букв, и каждая буква в нём должна встречаться столько же раз, сколько в имени Светлана. Кроме того, одинаковые буквы в коде не должны стоять рядом. Сколько кодов может составить Светлана?
Ответ
Ответ:
15120
Решение
import itertools alphabet = "СВЕТЛАНА" ar = itertools.permutations(alphabet, 8) #Размещение arl = [] for e in ar: arl.append(list(e)) a = set() for e in arl: flag = True s = "" for i in range(len(e)-1): s += e[i] if e[i] == e[i + 1]: flag = False if flag: a.add(s) print(len(a))