Задание 8. Информатика. ЕГЭ. Поляков-7412
- Просмотры: 287
- Изменено: 24 ноября 2024
(А. Минак) Все шестибуквенные слова, составленные из букв Г, Л, У, Б, И, Н, А записаны в обратном алфавитном порядке и пронумерованы. Вот начало списка:
- УУУУУУ
- УУУУУН
- УУУУУЛ
- УУУУУИ
- УУУУУГ
- УУУУУБ
- УУУУУА
- ...
Определите в этом списке количество слов с нечётными номерами, которые содержат две буквы А между которыми имеются две другие буквы (например, АГНА или АННА, но не ААНА и не АААА) и при этом содержат в своей записи более одной буквы H.
Решение:
Python
from itertools import product
def valid(s):
if s.count('Н') < 2:
return False
if s.count('А') < 2:
return False
else:
pos = [i for i in range(len(s)) if s[i] == 'А']
if any(y - x == 3 for x, y in zip(pos, pos[1:])):
return True
else:
return False
q, i = 0, 0
for p in product('УНЛИГБА', repeat=6):
i += 1
q += int(i % 2 and valid(''.join(p)))
print(q)
Ответ: \(318\)