24.03 Прочие прототипы
Ошибка.
Попробуйте повторить позже
В единственной строке файла находится строка
состоящая не более чем из
маленьких букв английского
алфавита. Определите можно ли добавить некоторое(возможно нулевое) количество букв «a» в начало строки, чтобы
строка стала палиндромом.
Напомним вам, что палиндромом называются строки, которые читаются одинаково как слева-направо, так и справа-налево.
В ответ запишите наименьшее необходимое количество букв «a», а если строку s невозможно сделать палиндромом
проделывая описанную операцию — запишите в ответ .
S = open("24.txt").readline() # Проверка, является ли исходная строка палиндромом if S == S[::-1]: # S[::-1] - срез переворачивания строки print(0) # Выводим необходимое количество букв ’a’, то есть 0 else: # Иначе нужно попробовать дописать в начало строки буквы ’a’ left_count_a = 0 # Счётчик для букв ’a’ слева right_count_a = 0 # Счётчик для букв ’a’ справа for i in range(len(S) // 2): # Пока слева будут идти буквы ’a’, будем увеличивать счётчик if S[i] == ’a’: left_count_a += 1 # В ином случае остановим цикл else: break # Аналогично с буквами ’a’ с правого конца строки for i in range(len(S) // 2): if S[-i - 1] == ’a’: right_count_a += 1 else: break # Если слева букв ’a’ меньше, чем справа, # то можно добавить недостающеее количество букв ’a’ слева if left_count_a <= right_count_a: S = ’a’ * (right_count_a - left_count_a) + S # В ином случае при дописывании слева букв ’a’ # строка никогда не станет палиндромом, # так как справа букв ’a’ меньше # В итоге проверим, стала ли строка палиндромом if S == S[::-1]: # Выводим необходимое количество букв ’a’ print(right_count_a - left_count_a) else: # Выводим -1, что означает, # что строку нельзя сделать палиндромом таким образом print(-1)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!