Светлана составляет коды из букв слова РОСОМАХА. Код должен состоять из 8 букв, и каждая буква в нём должна встречаться столько же раз, сколько в заданном слове. Кроме того, в коде не должны стоять рядом две гласные и две согласные буквы. Сколько кодов может составить Светлана?
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
from itertools import product k=0 for i in product('РОСМАХ', repeat=8): a = ''.join(i) gl='АО' sog='РСМХ' if a.count('Р')!=1 or a.count('О')!=2 or a.count('С')!=1: continue if a.count('М')!=1 or a.count('А')!=2 or a.count('Х')!=1: continue f=False for j in range(len(a)-1): if (a[j] in gl and a[j+1] in gl) or (a[j] in sog and a[j+1] in sog): f=True if f: continue k+=1 print(k) |
Ответ: 288