В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
катяlove4
катяlove4
12.11.2020 03:11 •  Информатика

C. В поисках палиндрома ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
У друга Поликарпа завтра день рождения. Недолго думая, Поликарп решил подарить ему палиндром, состоящий из строчных букв латинского алфавита. Поликарп знает, что его друг любит некоторые буквы, в количестве K штук. Поликарпу очень важен его друг, поэтому он хочет подарить ему самый красивый палиндром, содержащий хотя бы одну его любимую букву. Будем считать, что один палиндром красивее другого, если в нем есть любимая буква, стоящая в алфавите позже, чем все любимые буквы второго палиндрома.

В магазине палиндромов продавец выдал Поликарпу строку S длиной в N символов, из которой он может выбрать любую подстроку, являющеюся палиндромом. Гарантируется, что в данной строке содержится хотя бы один палиндром.

Поликарпу найти самый лучший палиндром. Если в строке S нет палиндромов, содержащих любимые буквы, то выведите любой палиндром, который является подстрокой S.

Определение: Палиндром — строка, одинаково читающаяся в обоих направлениях.

Входные данные
Первая строка содержит два целых числа N и K (1≤N≤105,1≤K≤26) — длину строки S и количество любимых букв.

Вторая строка содержит строку, состоящую из K строчных латинских различных букв — любимые буквы друга Поликарпа.

Третья строка содержит строку S, состоящую из N строчных латинских букв.

Выходные данные
Выведите одну единственную строку — самый лучший палиндром, который можно получить из строки S.

Если существует несколько палиндромов, удовлетворяющих условию, то выведите любой из них.

Система оценки
Подзадачи Ограничения Необходимые подзадачи Тип проверки
1 1≤N≤105 , 1≤K≤26 100 — Каждый тест
Примеры
входные данныеСкопировать
4 1
g
gmgi
выходные данныеСкопировать
gmg
входные данныеСкопировать
8 3
bcn
ianfffnb
выходные данныеСкопировать
nfffn
входные данныеСкопировать
16 7
codevka
cejecgaagdeakvka
выходные данныеСкопировать
akvka

Показать ответ
Ответ:
dolgunovadaniela
dolgunovadaniela
07.11.2021 13:45
{с клавиатуры вводится число до тех пор, пока не будет введено 3-х значное, сумма первых двух цифр записывается в a, сумма десятков и единиц - в b. Сравнивается какое из них больше и выводится в порядке возрастания}
Uses Crt;
var
a,c,b:integer;
begin
   ClrScr;
      repeat
          writeln('INPUT 3-x znachoe');
           readln(b);
      until (b>=100)and(b<=999);
a:=b div 100+(b div 10)mod 10;
c:=(b div 10)mod 10+b mod 10;
     if a<c then
         writeln(a,c)
else
         writeln(c,a);
Readkey;
end.
0,0(0 оценок)
Ответ:
65866666
65866666
07.11.2021 13:45
{с клавиатуры вводится число до тех пор, пока не будет введено 3-х значное, сумма первых двух цифр записывается в a, сумма десятков и единиц - в b. Сравнивается какое из них больше и выводится в порядке возрастания}
Uses Crt;
var
a,c,b:integer;
begin
   ClrScr;
      repeat
          writeln('INPUT 3-x znachoe');
           readln(b);
      until (b>=100)and(b<=999);
a:=b div 100+(b div 10)mod 10;
c:=(b div 10)mod 10+b mod 10;
     if a<c then
         writeln(a,c)
else
         writeln(c,a);
Readkey;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота