Задача 3. Баобаб
Саша очень любит большие деревья, а самое любимое его дерево — баобаб.
Сегодня на уроке информатики Саша узнал, что слова можно сравнивать в лексикографическом (алфавитном) порядке, то есть слова тоже бывают маленькими (находящимися в начале словаря) и большими (находящимися в конце словаря).
Напомним, что слова в словаре упорядочены по первой букве (то есть «больше» то слово, первая буква которого стоит в алфавите позже), а при равенстве первых букв сравниваются вторые буквы, при равенстве вторых букв — третьи и т.д. Например, из слов «грейпфрут», «лимон», «манго» и «мандарин» лексикографически наибольшим будет слово «мандарин», так как первые буквы слов «грейпфрут» и «лимон» находятся в алфавите раньше первой буквы слова «мандарин», а у слов «мандарин» и «манго» совпадают первые три буквы «ман», но четвёртая буква слова «мандарин» стоит в алфавите позже, чем четвёртая буква слова «манго».
Изучая лексикографический порядок слов, Саша написал на полоске бумаги слово «БАОБАБ», разрезал полоску в двух местах и переставил три получившихся куска местами. Он хочет сделать «БАОБАБ» ещё больше. Какое наибольшее слово в лексикографическом порядке он может получить?
Ответ на Задачу 3.
Ответ: ОББААБ.
Решение:
Чтобы строка после разрезания и перестановки оказалась наибольшей в лексикографическом порядке, необходимо на первое место поставить букву «O». Значит, буква «О» должна быть началом одного куска, то есть разрез необходимо сделать перед буквой «О»: «БА-ОБАБ».
Помимо буквы «О», остались только буквы «А» и «Б». Нам нужно после буквы «О» поставить как можно больше букв «Б». В слове «БАОБАБ» и так после буквы «О» идёт одна буква «Б», но за ней идёт буква «А», поэтому сделаем второй разрез между «Б» и «А»: «БА-ОБ-АБ».
Теперь переставим куски так, чтобы после «ОБ» оказалась буква «Б»: «ОБ-БА-АБ».