Задание №8: Комбинаторика и подсчёт вариантов слов
Основные типы и прототипы задания №8:
Слова с фиксированным алфавитом
Слова в алфавитном порядке
Ограничения на гласные/согласные
Условие задания
(А. Минак) Для составления цепочек используются бусины, помеченные буквами A, Б, В, Г, Д, Е, по следующим правилам: на первом месте в цепочке стоит одна из бусин A, Б, В, Г; на втором – любая согласная буква, если первая буква согласная, или любая гласная, если первая гласная; на третьем месте – одна из бусин Б, В, Д, Е, не стоящая в цепочке на первом или втором месте; на четвертом месте – любая согласная буква, не стоящая на втором или третьем месте. Алгоритм выполняется последовательно, генерируя новые цепочки в лексикографическом порядке.
Вот начало списка:
Вот начало списка:
1. ААБВПод каким номером в списке будет цепочка бусин ГВЕД.
2. ААБГ
3. ААБД
4. ААВБ
5. ААВГ
6. ААВД
7. ААДБ
8. ААДВ
9. ААДГ
10. ААЕБ
...
Ответ:
84
Шаблон решения на Python
# === Задание 8: Комбинаторика и списки слов ===
from itertools import product
words = [''.join(p) for p in product('АПРЕЛЬ', repeat=5)]
words.sort()
count = 0
for idx, w in enumerate(words, start=1):
# Условие из задачи:
if w.count('Ь') <= 1 and not ('А' in w and 'Е' in w):
count += 1
print("Подходящих слов:", count)