Задание 8. Информатика. ЕГЭ. Поляков-6409

Просмотры: 50
Изменено: 2 февраля 2025

(М. Шагитов) Марат составляет \(8\)-буквенные коды из букв, входящих в слово ДЕВИАЦИЯ. Первая буква кода должна быть гласной, а последняя — согласной. Код должен содержать хотя бы одну пару соседних букв, которые следуют друг за другом в русском алфавите (например, "АБ" или "ЮЯ"). Сколько различных кодов может составить Марат?

Решение:

Python


from itertools import product

words = set()
for p in product(set('ДЕВИАЦИЯ'), repeat=8):
    b1 = 'АИЕЯ'
    b2 = 'ДВЦ'
    s = ''.join(p)
    if s[0] in b1 and s[-1] in b2 \
        and any(ord(y) - ord(x) == 1  for x, y in zip(s, s[1:])):
        words.add(s)
print(len(words))

Ответ: \(140544\)