Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
В строке записаны строчные (маленькие) латинские буквы, все подряд в алфавитном порядке от 'a' до некоторой `"lastchar"`. ('a' ≤ `"lastchar"` ≤ 'z'). Нужно превратить все буквы строки в заглавные (большие), придерживаясь таких правил:
- менять регистр буквы 'a' можно когда угодно;
- менять регистр любой другой буквы можно если и только если предыдущая – первая по порядку заглавная (например, в строке "aBcdEf" можно изменить регистр 'с' и получить "aBCdEf"). Кратчайшую возможную последовательность всех замен регистров можно представить в виде строки,
заглавные буквы которой указывают, что соответствующая буква переводится из нижнего регистра в верхний, строчные – наоборот. Ваша программа должна найти `("st",\ "len")`-подстроку этой строки, т. е. такую подстроку, что её первым символом является `"st"`-ый символ упомянутой строки (нумерация начинается с единицы), количество символов подстроки равно `"len"` (если только упомянутая строка не закончится раньше).
Ввод содержит одну маленькую латинскую букву (значение `"lastchar"`), потом (через пробелы) значения начала `"st"` и длины `"len"` (`1\ ≤\ "len"\ ≤\ 10^5`).
Програма должна вывести искомую подстроку последовательности замен регистров.
Вывод для примера 1
ABaCA
Источник: Всеукраинская Интернет-олимпиада по информатике NetOI-2006