Инструменты пользователя

Инструменты сайта


подготовка_к_олимпиаде._тур_12

Это старая версия документа.


1. Регистр

Измените регистр символа, если он был латинской буквой: сделайте его заглавным, если он был строчной буквой и наоборот. Для этого напишите отдельную функцию, меняющую регистр символа.

Формат входных данных. Задан единственный символ C.

Формат выходных данных. Необходимо вывести получившийся символ

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

2. Удаление фрагмента

Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.

Пример вводаПример вывода
In the hole in the ground there lived a hobbitIn tobbit

3. Негласный палиндром

Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами.

Вам требуется написать программу, которая по данному слову определяет, является ли оно негласным палиндромом.

Входные данные. Вводится одно слово.

Выходные данные. Программа должна вывести YES, если введенное слово является негласным палиндромом, и NO в противном случае.

Пример вводаПример выводаКомментарий
tenneteYESПервая согласная буква – t – меняется местами с последней, тоже t, вторая согласная буква – n – меняется местами с предпоследней, тоже n.
karaokeYESПервая согласная буква – k – меняется местами с последней, тоже k, вторая согласная буква является одновременно и предпоследней, поэтому остается на месте.
diskNOЭто слово не является негласным палиндромом, поскольку при указанных перестановках букв получается слово kisd.

Ограничения. Во всех тестовых примерах слово записано строчными латинскими буквами и состоит не более, чем из 20 символов.

4. Текст

Дан текст, состоящий из слов, знаков препинания и других символов. Словом в тексте считается последовательность символов из прописных и строчных букв латинского алфавита. Требуется перевернуть (записать в обратном порядке) все слова текста, оставив знаки препинания и другие символы, включая буквы русского алфавита, без изменений. В строке не более 255 символов, строк в файле не более 1000.

Пример вводаПример вывода
This is an example.sihT si na elpmaxe.
Prim333primяяrtmirP333mirpяяtr

5. Смайлики

Напишите программу, которая посчитает количество смайликов в заданном тексте.

Смайликом будем считать последовательность символов, удовлетворяющую условиям:

  • первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз
  • далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз)
  • в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ].
  • внутри смайлика не может встречаться никаких других символов.

Например, нижеприведенные последовательности являются смайликами:

:)

;---------[[[[[[[[

в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики):

:-)]

;--

-)

::-(

:-()

В этой задаче надо будет посчитать количество смайликов, содержащихся в данном тексте.

Формат входных данных. Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов.

Формат выходных данных. Выведите одно число — количество смайликов, которые встречаются в тексте.

Пример вводаПример вывода
:);------[[[[[]
2.
:-)];----;
1
-)(---:---
0
hello :-)
1
/home/m/mvgoru/wiki.gumnasion.ru/public_html/data/attic/подготовка_к_олимпиаде._тур_12.1384718778.txt.gz · Последние изменения: 2013/11/18 00:06 — Пронин Роман