Автор: PRO100ЕГЭ
Уровень: Базовый
Условие задачи:
Петя составляет слова путём перестановки букв в слове ПРОСТО. Сколько он сможет составить слов, если запрещено ставить рядом две одинаковые буквы?
Теоретическая справка:
В данной задаче удобнее всего будет заменить все гласные на одну букву, и также поступить с согласными. Важно производить такие действия как самое крайнее условие, иначе мы рискуем поломать состав нашего слова раньше времени.
Также важно исключить одинаковые слова, появляющиеся из-за повторяющейся буквы "О" в нашем наборе.
Код решения:
Ответ: 240
Комментарии к коду:
- from itertools import permutations
Импортируется функция permutations из модуля itertools, которая генерирует все возможные перестановки элементов. - k = []
Создается пустой список k, который будет хранить слова, удовлетворяющие условию задачи. - for x in permutations("ПРОСТО"):
Запускается цикл for, в котором перебираются все перестановки букв из слова "ПРОСТО". - word = ''.join(x)
Формируется слово word, объединяя буквы из текущей перестановки. - if "ОО" not in word:
Проверяется условие, что в слове word нет подстроки "ОО". - k.append(word)
Если слово удовлетворяет условию, оно добавляется в список k. - print(len(set(k)))
Выводится количество уникальных слов из списка k, используя множество для удаления дубликатов.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻 Вы найдете тут много полезного!