Top.Mail.Ru
Ответы

Помогите решить задачу из ЕГЭ по информатике!

Все шестибуквенные слова из букв Камень, записаны в алфавитном порядке и пронумерованы
Вот начало списка:
1.АААААА
2. АААААЕ
3.АААААК
4.АААААМ
5.АААААН
6. АААААЬ
Под каким номером в списке стоит последнее слово, которое не начинается с буквы Ь,содержит ровно две буквы М и не более одной буквы А?

По дате
По Рейтингу
Аватар пользователя
Ученик
12345678
 from itertools import product
c = 0
a = []
for i in product('аекмнь', repeat=6):
    c += 1
    if i[0] != 'ь' and i.count('м') == 2 and i.count('а') <= 1:
        a.append(c)
print(max(a)) 
Аватар пользователя
Мастер

Количество возможных слов, начинающихся на «Ь», можно подсчитать, посчитав все возможные перестановки букв «Ь», «К», «Н», «Е», «Н».
Есть 5! = 120 возможных перестановок.
Количество слов, начинающихся на «Ь» и содержащих две буквы «М», можно подсчитать, подсчитав количество возможных перестановок букв «М», «М», «Ь», «К», «Н», «Е», «Н».
Есть 7! / (2! * 5!) = 210 возможных перестановок.
Количество слов, начинающихся на «Ь», содержащих две буквы «М» и не более одной буквы «А», можно подсчитать, подсчитав количество возможных перестановок букв «М», «М», «Ь» , "К", "Н", "Е", "Н", "А".
Есть 8! / (2! * 5! * 1!) = 840 возможных перестановок.
Итак, последнее слово в списке, не начинающееся с «Ь», содержит ровно две буквы «М», а не более одной буквы «А» — это 120 + 210 + 840 = 1170.