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

Подразделы

Дата и время

05/04/2025 17:30:10

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

print922. Преобразование строки

printПреобразование строки

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

В строке записаны строчные (маленькие) латинские буквы, все подряд в алфавитном порядке от 'a' до некоторой lastchar. ('a' ≤ lastchar ≤ 'z'). Нужно превратить все буквы строки в заглавные (большие), придерживаясь таких правил:
- менять регистр буквы 'a' можно когда угодно;
- менять регистр любой другой буквы можно если и только если предыдущая – первая по порядку заглавная (например, в строке "aBcdEf" можно изменить регистр 'с' и получить "aBCdEf"). Кратчайшую возможную последовательность всех замен регистров можно представить в виде строки, заглавные буквы которой указывают, что соответствующая буква переводится из нижнего регистра в верхний, строчные – наоборот. Ваша программа должна найти (st, len)-подстроку этой строки, т. е. такую подстроку, что её первым символом является st-ый символ упомянутой строки (нумерация начинается с единицы), количество символов подстроки равно len (если только упомянутая строка не закончится раньше).
Ввод содержит одну маленькую латинскую букву (значение lastchar), потом (через пробелы) значения начала st и длины len (1  len  105).
Програма должна вывести искомую подстроку последовательности замен регистров.

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

c 1 10

Вывод для примера 1

ABaCA

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

c 2 3

Вывод для примера 2

BaC
Источник: Всеукраинская Интернет-олимпиада по информатике NetOI-2006
loading