Вы находитесь на странице: 1из 6

Группа D3. Весна пришла!

Университет ИТМО, 3 марта 2018

Задача A. Кодирование RLE


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Кодирование длин серий (англ. run-length encoding, RLE) или кодирование повторов — алгоритм
сжатия данных, заменяющий повторяющиеся символы (серии) на один символ и число его повто-
ров. Серией называется последовательность, состоящая из нескольких одинаковых символов. При
кодировании (упаковке, сжатии) строка одинаковых символов, составляющих серию, заменяется
строкой, содержащей сам повторяющийся символ и количество его повторов.
Рассмотрим изображение, содержащее текст чёрного цвета на сплошном белом фоне. При по-
строчном чтении пикселей такого изображения будут встречаться серии белых (фон) и чёрных
(буквы) пикселей. Буквой B обозначим чёрный пиксель, а буквой W — белый. Рассмотрим некую
произвольную строку изображения длиной 67 символов:

WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW

Посчитаем количество повторяющихся символов:

• 12 символов «W»;

• 1 символ «B»;

• 12 символов «W»;

• 3 символа «B»;

• 24 символа «W»;

• 1 символ «B»;

• 14 символов «W».

Итого найдено 7 серий. Заменим серии на число повторов и сам повторяющийся символ:

12W1B12W3B24W1B14W

Получилась последовательность из 18 символов. Исходная последовательность состояла из 67


символов. Данные были сжаты в 67/18 = 3.72 раза.
Формат входных данных
В первой строке записана строка длиной не более 1000 символов, состоящая из заглавных ла-
тинских букв.
Формат выходных данных
Выведите эту строку, закодировав с помощью RLE.
Пример
стандартный ввод стандартный вывод
AAABBAAAA 3A2B4A

Страница 1 из 6
Группа D3. Весна пришла!
Университет ИТМО, 3 марта 2018

Задача B. Физкультура
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
На физкультуре в начале урока все построились по росту. Но тут внезапно вбежал опоздавший
Вася и встал в случайное место. Физрук очень не любит когда строй не отсортирован по росту.
Помогите ему найти виновника.
Формат входных данных
В первой строке записано число школьников n (1 ⩽ n ⩽ 100), в следующей строке записано n
чисел — рост школьников в том порядке, в котором они стоят в строю.
Формат выходных данных
Если строй уже отсортирован по невозрастанию роста, выведите «OK», иначе если можно од-
нозначно определить, кто портит строй, выведите его номер. Если же определить, кто именно все
испортил, однозначно нельзя, выведите «SAD».
Примеры
стандартный ввод стандартный вывод
8 4
185 180 180 165 176 174 160 156
5 OK
178 174 171 168 168
6 SAD
178 175 167 169 157 155

Замечание
В первом примере Вася с ростом 165 влез на четвертое место. Во втором примере Вася влез
удачно, так что строй остался отсортированным, в третьем примере кто-то из школьников, или
третий или четвертый, стоят неправильно, но кто точно — нельзя сказать.

Страница 2 из 6
Группа D3. Весна пришла!
Университет ИТМО, 3 марта 2018

Задача C. Изменение регистра символов


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 64 мегабайта
Дана строка. Вам нужно реализовать функцию «Изменить регистр» текстового процессора
Microsoft Word.

Пример
стандартный ввод стандартный вывод
AdA aDa

Страница 3 из 6
Группа D3. Весна пришла!
Университет ИТМО, 3 марта 2018

Задача D. Виллы на берегу


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Вася работает в строительной компании. Земля, на котором работает компания, представляет
собой прямоугольник n × m, разделенный на квадратные участки. Участки бывают двух типов: с
водой и сушей.
Компания занимается постройкой вилл на берегу, и задача Васи — помечать на карте участки,
на которых можно построить виллу. Виллу можно построить на участке, если на этом участке суша,
а на одном из соседних участков (слева, снизу, справа или сверху) — вода. Помогите Васе с этой
задачей.
Формат входных данных
В первой строке записаны размеры участка n, m (1 ⩽ n, m ⩽ 100), в следующих n строках
записана карта. Участок с сушей обозначен символом «.», с водой — «#».
Формат выходных данных
Выведите карту в том же формате, пометив участки, на которых можно построить виллу, сим-
волом «X».
Пример
стандартный ввод стандартный вывод
3 5 3 5
...#. X.X#X
#.... #X.X.
##... ##X..

Страница 4 из 6
Группа D3. Весна пришла!
Университет ИТМО, 3 марта 2018

Задача E. Наибольшее произведение


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
Дано n целых чисел. Требуется выбрать из них три таких числа, произведение которых макси-
мально.
Формат входных данных
Во входном файле записано сначала число n — количество чисел в последовательности
(3 ⩽ n ⩽ 5000). Далее записана сама последовательность: n целых чисел, по модулю не превы-
шающих 30000.
Формат выходных данных
В выходной файл выведите три искомых числа в любом порядке. Если существует несколько
различных троек чисел, дающих максимальное произведение, то выведите любую из них.
Примеры
стандартный ввод стандартный вывод
9 10 9 9
3 5 1 7 9 0 9 -3 10
3 -5 -12 -30000
-5 -30000 -12

Страница 5 из 6
Группа D3. Весна пришла!
Университет ИТМО, 3 марта 2018

Задача F. Интересное число


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт

Примеры
стандартный ввод стандартный вывод
8 Yes
10 No
153 Yes
516 No

Страница 6 из 6