Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

1241. Удаление букв

Ограничения: время – 300ms/600ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Из слова длиной n букв можно удалить k из них Ckn способами (если рассматривать только позиции букв в слове). Например, удалив 2 буквы из слова above, можно получить 10 слов: ove, bve, boe, bov, ave, aoe, aov, abe, abv, abo. Если упорядочить эти слова по алфавиту, то получим следующий список слов: abe, abo, abv, aoe, aov, ave, boe, bov, bve, ove.
Напишите программу, которая выводит первое и последнее слово из отсортированного в лексикографическом порядке списка всех возможных слов, полученных из заданного с помощью удаления ровно k букв.
Первая строка ввода содержит два целых числа – длина слова n (2 ) и количество удаляемых букв k (1\ ≤\ k\ <\ n). Вторая строка содержит слово из n строчных латинских букв.
В первой строке вывести первое слово, а во второй строке – последнее слово из отсортированного списка слов.

Пример ввода

5 2
above

Пример вывода

abe
ove
loading