Ошибка.
Попробуйте повторить позже
В единственной строке файла находится строка состоящая не более чем из маленьких букв английского алфавита. Определите можно ли добавить некоторое(возможно нулевое) количество букв «a» в начало строки, чтобы строка стала палиндромом.
Напомним вам, что палиндромом называются строки, которые читаются одинаково как слева-направо, так и справа-налево.
В ответ запишите наименьшее необходимое количество букв «a», а если строку s невозможно сделать палиндромом проделывая описанную операцию — запишите в ответ .
Оптимальное решение: проверим, что вся строка не состоит только из букв «a», потому что если она состоит, то она уже является палиндромом и ответ . Иначе подсчитаем количество букв «a» стоящих в начале строки и количество букв «a» стоящих в конце строки. Если в конце строки стоит меньше букв «a», чем в начале, то добавляя буквы «a» в начало вы точно не сделаете строку палиндромом, поэтому ответ . Иначе, давайте добавим необходимое количество букв «a» в начало строки и после этого проверим, что полученная строка является палиндромом. Такое решение работает за три прохода по строке, то есть за .
Решение на Python
f = open("24.txt") s = f.readline() if len(s) == s.count("a"): print(0) else: l, r = 0, 0 i = 0 while s[i] == "a" and i < len(s): l += 1 i += 1 i = len(s) - 1 while s[i] == "a" and i >= 0: r += 1 i -= 1 if l > r: print(-1) else: s = "a" * (r - l) + s # проверка строки на палиндромность f = True for i in range(len(s) // 2): if s[i] != s[len(s) - i - 1]: f = False if f: print(r - l) else: print(-1)
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное обучение
в Школково
Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!