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