Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
подготовка_к_олимпиаде._тур_12 [2013/11/17 11:17] Пронин Роман |
подготовка_к_олимпиаде._тур_12 [2013/11/18 00:06] (текущий) Пронин Роман |
||
---|---|---|---|
Строка 10: | Строка 10: | ||
|d|D| | |d|D| | ||
- | **2. Негласный палиндром** | + | **2. Удаление фрагмента** |
+ | |||
+ | Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними. | ||
+ | |||
+ | ^Пример ввода^Пример вывода^ | ||
+ | |In the hole in the ground there lived a hobbit|In tobbit| | ||
+ | |||
+ | |||
+ | **3. Негласный палиндром** | ||
Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами. | Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами. | ||
Строка 29: | Строка 37: | ||
**4. Текст** | **4. Текст** | ||
+ | |||
Дан текст, состоящий из слов, знаков препинания и других символов. Словом в тексте считается последовательность символов из прописных и строчных букв латинского алфавита. Требуется перевернуть (записать в обратном порядке) все слова текста, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В строке не более 255 символов, строк в файле не более 1000. | Дан текст, состоящий из слов, знаков препинания и других символов. Словом в тексте считается последовательность символов из прописных и строчных букв латинского алфавита. Требуется перевернуть (записать в обратном порядке) все слова текста, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В строке не более 255 символов, строк в файле не более 1000. | ||
Строка 34: | Строка 43: | ||
|This is an example.|sihT si na elpmaxe.| | |This is an example.|sihT si na elpmaxe.| | ||
|Prim333primяяrt|mirP333mirpяяtr| | |Prim333primяяrt|mirP333mirpяяtr| | ||
+ | |||
+ | **5. Смайлики** | ||
+ | |||
+ | Напишите программу, которая посчитает количество смайликов в заданном тексте. | ||
+ | |||
+ | Смайликом будем считать последовательность символов, удовлетворяющую условиям: | ||
+ | |||
+ | * первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз | ||
+ | * далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз) | ||
+ | * в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ]. | ||
+ | * внутри смайлика не может встречаться никаких других символов. | ||
+ | |||
+ | Например, нижеприведенные последовательности являются смайликами: | ||
+ | |||
+ | <code>:) | ||
+ | |||
+ | ;---------[[[[[[[[</code> | ||
+ | |||
+ | в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики): | ||
+ | |||
+ | <code>:-)] | ||
+ | |||
+ | ;-- | ||
+ | |||
+ | -) | ||
+ | |||
+ | ::-( | ||
+ | |||
+ | :-()</code> | ||
+ | |||
+ | В этой задаче надо будет посчитать количество смайликов, содержащихся в данном тексте. | ||
+ | |||
+ | Формат входных данных. Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов. | ||
+ | |||
+ | Формат выходных данных. Выведите одно число — количество смайликов, которые встречаются в тексте. | ||
+ | |||
+ | ^Пример ввода^Пример вывода^ | ||
+ | |<code>:);------[[[[[]</code>|2| | ||
+ | |<code>:-)];----;</code>|1| | ||
+ | |<code>-)(---:---</code>|0| | ||
+ | |<code>hello :-)</code>|1| | ||