`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Задача  UpCase

У рядку записані рядкові (маленькі) латинські букви, усі підряд в алфавітному порядку від ‘a’ до деякої   last_char. (‘a’ <= last_char <= ‘z’). Потрібно перетворити всі букви рядка у заголовні (великі), дотримуючись таких правил
- змінювати регістр букви
‘a’ можна коли завгодно;
- змінювати регістр будь-якої іншої букви можна тоді й тільки тоді, коли попередня — перша по порядку заголовна (наприклад, у рядку
“aBcdEf” можна змінити регістр ‘с’ і отримати “aBCdEf”).
Найкоротшу можливу послідовність усіх замін регістрів можна подати у вигляді рядка,  заголовні букви якого вказують, що відповідна буква переводиться з нижнього регістру у верхній, рядкові — навпаки.  Ваша програма має знайти (st, len) - підрядок цього рядка, тобто такий підрядок, що його першим символом є st-ий символ згаданого рядка (нумерація починається з одиниці), кількість символів підрядка становить len (якщо тільки згаданий рядок не закінчився раніше)


Технічні умови. Програма має прочитати з клавіатури одну маленьку латинську букву (значення last_char) потім (через пробіли) значення початку st і довжини len. Програма повинна  вивести на екран шуканий підрядок послідовності замін регістрів
Приклад 1.
Вхід              c 1 10

Вихід            ABaCA
Приклад 2.
Вхід              c 2 3
Вихід            BaC

 


Задача UpCase

В строке записаны строчные (маленькие) латинские буквы, все подряд в алфавитном порядке от ‘a’ до некоторой last_char. (‘a’ £ last_char £ ‘z’). Нужно превратить все буквы строки в заглавные (большие), придерживаясь таких правил: 
-менять регистр буквы ‘a’ можно когда угодно;
 
-менять регистр любой другой буквы можно если и только если предыдущая — первая по порядку заглавная (например, в строке “aBcdEf” можно изменить регистр ‘с’ и получить “aBCdEf”).
Кратчайшую возможную последовательность всех замен регистров можно представить в виде строки, заглавные буквы которой указывают, что соответствующая буква переводится из нижнего регистра в верхний, строчные — наоборот.  Ваша программа должна найти (st, len)-подстроку этой строки, т. е. такую подстроку, что её первым символом является st-ый символ упомянутой строки (нумерация начинается с единицы), количество символов подстроки равно len (если только упомянутая строка не закончится раньше).

Технические условия . Программа должна прочитать с клавиатуры одну маленькую латинскую букву (значение last_char) потом (через пробелы) значения начала st и длины len. Програма должна вывести на экран искомую подстроку последовательности замен регистров.

Пример 1.
Вход              c 1 10

Выход            ABaCA
Пример 2.
Вход              c 2 3
Выход            BaC

© LIKT 1998-2024