Страница: 1 Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

 В исследовательской лаборатории фирмы Robots&Co разработали новую модель робота. Главной особенностью данной модели робота является то, что он работает по заранее заданной программе, в которой могут присутствовать команды: сделать шаг на Юг, на Север, на Восток или на Запад. Робот исполняет программу строго последовательно и, дойдя до конца программы, останавливается. Специалисты из Robots&Co заинтересовались вопросом, сколько существует различных программ, состоящих из K инструкций, таких, что робот, выйдя из начала координат, придет в точку с координатами (X, Y). Оси координат располагаются параллельно сторонам света, и единица измерения, соответствует одному шагу робота. Напишите программу, которая дает ответ на этот вопрос.

Входные данные

Во входном файле находятся три числа K, X и Y (0 K ≤ 16, |X|, |Y| ≤ 16), разделенные пробелами.

Выходные данные

В выходной файл ваша программа должна поместить одно число – количество программ для робота.

Примеры
Входные данные
4 0 0
Выходные данные
36
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
В заданной строке требуется удалить минимальное количество символов, чтобы оставшаяся строка являлась палиндромом.

Палиндромом называется строка, которая одинаково читается как слева направо, так и справа налево. Подпалиндромом данной строки называется последовательность символов из данной строки, не обязательно идущих подряд, являющаяся палиндромом. Например, HELOLEH является подпалиндромом строки HTEOLFEOLEH. Напишите программу, находящую в данной строке подпалиндром максимальной длины.

Входные данные

Во входном файле находится строка длиной не более 100 символов, состоящая из заглавных букв латинского алфавита.

Выходные данные

Выведите на первой строке выходного файла длину максимального подпалиндрома, а на второй строке сам максимальный подпалиндром. Если таких подпалиндромов несколько, то ваша программа должна вывести любой из них.

Примеры
Входные данные
N
Выходные данные
1
N
Входные данные
ABCDEF
Выходные данные
1
A
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Даны координаты N клеток. Необходимо определить координаты минимального прямоугольника, со сторонами, параллельными осям, покрывающего все клетки.

На клетчатой плоскости закрашено K клеток. Требуется найти минимальный по площади прямоугольник, со сторонами, параллельными линиям сетки, покрывающий все закрашенные клетки.

Входные данные

Во входном файле, на первой строке, находится число K(1 ≤ K ≤ 100). На следующих K строках находятся пары чисел Xi и Yi – координаты закрашенных клеток (|Xi|, |Yi| ≤ 109).

Выходные данные

Выведите в выходной файл координаты левого нижнего и правого верхнего углов прямоугольника.

Примеры
Входные данные
3
1 1
1 10
5 5
Выходные данные
1 1 5 10
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
На прямой расположены остановки с заданными координатами. Заданы скорость трамвая и мальчика. Требуется найти минимальное расстояние L до первой остановки, на которое мальчик должен видеть приближение трамвая так, чтобы трамвай не обогнал его между остановками.

Трамвайная линия имеет вид прямой. Петя живет в N трамвайных остановках от метро. Метро находится у нулевой остановки, в точке с координатой 0.


Выходя из метро, Петя хочет попасть домой как можно быстрее, но он очень не любит ждать трамвай на остановке. Поэтому, если, подходя к очередной трамвайной остановке, он не видит трамвая, то идет пешком вдоль трамвайной линии. Если в какой-то момент Петя видит трамвай, то он может принять решение вернуться на остановку, или продолжить свое движение к следующей остановке. Петя идет со скоростью U, трамвай едет со скоростью V. Нужно найти минимальное расстояние L, которое должно просматриваться перед нулевой остановкой, чтобы он мог идти со своей скоростью в сторону дома, не опасаясь, что трамвай его обгонит между остановками.

Входные данные

Во входном файле находятся три числа N, U и V (N 1000, U и V – положительные вещественные), за которым будет следовать N вещественных чисел – X1, X2,... Xn (0 < X1 < X2 < … < Xn < 106), разделенных пробелами.

 

Выходные данные

В выходной файл ваша программа должна вывести число L с точностью до 10-4.

Примеры
Входные данные
1 1 10
2
Выходные данные
9.0000
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Компания MacroHard разработала новый язык программирования PASCAL++. В этом языке имеется оператор вывода PrintLn, с помощью которого можно выводить строки любой длины. По стандарту языка, разработанному специалистами компании, некоторые комбинации символов в строке должны при выводе играть особую роль:

Комбинация

Значение

\n

Переход на новую строку

\t

Вывод K пробелов (\(1\leq K \leq 7\))), после чего курсор оказывается на позиции, имеющей номер вида \(7N+1\) (первая позиция каждой строки имеет номер 1).

\\

Вывод символа "\".

\XY

где X и Y – шестнадцатеричные цифры (0..9, A..F или a..f), причем XY20

Вывод символа, имеющего ASCII код XY


Например, строка "New line\ntab\tslash\\\nA char \41, rus Б \81" должна была быть напечатана в следующем виде :


Напечатано

Здесь пробелы для наглядности обозначены символами

New line

tab slash\

A char A, rus Б Б

Newline

tabslash\

AcharA,rusББ

К сожалению, главный программист забыл добавить в компилятор правильную процедуру форматирования. Поэтому строки выводятся прямо так, как они были записаны. Ваша задача состоит в том, чтобы преобразовать файл, полученный в результате выполнения одного или нескольких операторов PrintLn к форме, которая была задумана.

Входные данные

Входной файл содержит одну или несколько строк, каждая из которых является результатом работы неправильного оператора PrintLn. Размер файла не превышает 100000 байт.

(Все символы "\", встречающиеся во входном файле участвуют в создании какой-либо ключевой комбинации, т.е. сразу после любой последовательности, состоящей из нечетного количества подряд идущих символов "\", следует символ из набора {"n", "t", "\", "0".."9", "A".."F", "a".."f" }, причем в случае символа из множества {"0".."9", A".."F", "a".."f"}, затем следует еще один символ из этого множества.)

Выходные данные

Выведите в выходной файл, как выглядел бы данный текст, если бы он был перобразован по соответствующим правилам языка PASCAL++.

Примеры

Входные данные

Выходные данные

New line\ntab\tslash\\

A char \41, rus Б \81

New line

tab slash\

A char A, rus Б Б


Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест