Темы --> Информатика
    Язык программирования(952 задач)
    Алгоритмы(1657 задач)
    Структуры данных(279 задач)
    Интерактивные задачи(17 задач)
    Другое(54 задач)
---> 2656 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 340 341 342 343 344 345 346 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

На день рождения юному технику Мише подарили машинку с радиоуправлением. Мише быстро наскучило гонять машинку туда-сюда по комнате, и он соорудил специальную трассу. Для этого он разбил комнату на квадратные ячейки, некоторые из них оставив пустыми, а в некоторые поставив препятствия. Целую неделю Миша каждый день улучшал свой рекорд по прохождению трассы. Но каково же было разочарование Миши, когда к нему в гости пришел Тима со своей машинкой и побил его рекорд. Стало понятно, что машинку необходимо модернизировать.

На пробных испытаниях, которые были произведены через день, Миша обнаружил, что машинка действительно ездит лучше, однако ее поведение несколько изменилось. На пульте теперь функционируют только четыре кнопки: вперед, назад, вправо, влево. При нажатии на них машинка едет по направлению к соответствующей стене комнаты, являющейся одновременно границей трассы, точно перпендикулярно ей. Машинка разгоняется до такой скорости, что перестает реагировать на другие команды, врезается в ближайшее препятствие или стену и отскакивает от нее на половину пройденного расстояния, то есть если между машинкой и стеной было x пустых клеток, то после отскока она остановится на клетке, от которой клеток до стены (x означает округление вниз, например , ).

Теперь Мише интересно, какое минимальное количество раз необходимо нажать на кнопку пульта, чтобы машинка, начав в клетке старта, остановилась в клетке финиша.

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

Первая строка входного файла содержит два целых числа n и m — размеры трассы (2 ≤ m, n ≤ 20). Следующие n строк содержат по m символов каждая: символ «.» соответствует пустой клетке, «#» — препятствию, а «S» и «T» — клетке старта и клетке финиша соответственно.

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

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

Если доехать от старта до финиша невозможно, выведите  - 1.

Примеры
Входные данные
5 5
S#..T
.#.##
.....
.##.#
.#...
Выходные данные
6
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

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

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

Перемешивание карт происходит в несколько этапов. На каждом этапе Петя сначала по очереди берет карты из колоды от верхней к нижней и раскладывает их на две стопки: одну налево, одну направо, одну налево, одну направо. После этого он кладет левую стопку на правую. Эти действия повторяются k раз.

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

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

Первая строка входного файла содержит строку, описывающую состояние колоды до перемешивания. Строка состоит из заглавных латинских букв. i-я буква строки соответствует i-й карте от низа колоды. Длина строки не превышает 100 символов.

Вторая строка содержит целое число k (1 ≤ k ≤ 100).

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

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

Примеры
Входные данные
ABCDEFG
1
Выходные данные
FDBGECA
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Кальпас — обычный говорящий пес, который живет в зоопарке на Марсе. К сожалению, условия содержания животных там не самые лучшие. Кальпаса выпускают на прогулку только раз в день, да и то, «выпускают» — не самое лучшее слово. Двое охранников: Вася и К-20071027, надевают на Кальпаса специальный ошейник и выводят его во двор. Ошейник полностью контролирует перемещения пса: в любой момент Кальпас находится в точности на середине отрезка между своими охранниками.

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

Для того, чтобы подготовиться к переговорам, Кальпас хочет выяснить, путь какой длины должен пройти К-20071027, чтобы Кальпас двигался по намеченному пути с постоянной скоростью.

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

Входной файл содержит описание двух маршрутов, являющихся ломаными линиями: пути, по которому хочет пройти Кальпас и маршрута, по которому ежедневно ходит Вася.

Первая строка описания каждого из маршрутов содержит количество вершин ломаной, а последующие задают координаты этих вершин. Количество вершин в каждой ломаной не превышает 100, координаты точек целые и по модулю не превышают 1000.

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

В выходной файл выведите длину пути, который должен будет пройти К-20071027 с точностью не менее 10 - 6.

Примеры
Входные данные
4
0 0
0 6
6 6
6 0
3
0 0
3 3
6 0
Выходные данные
30.59411708155670700000
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Испытывая глубочайшую ненависть к e-mail адресам, Илья "цензурирует" каждый встречающийся текст, заменяя e-mail адреса словом censore, циклически записанным по длине e-mail. Однако у Ильи очень странные представления о e-mail адресах и о том, как следует "цензурировать" тексты. В представлении Ильи e-mail адрес записывается следующим образом: <имя><@><сайт><.><домен>

Имя представляет собой последовательность символов с кодами от 33 до 127. В имени не могут встречаться символы "@" или ".", если нет вложенных e-mail, но об этом речь пойдет ниже.

Сайт - последовательность латинских букв, хотя бы одна из которых должна быть заглавной.

Домен - 2 прописные латинские буквы.

Илья без проблем может написать программу, цензурирующую текст, но его беспокоит то, что в имени после символа "%" может быть другой e-mail. Например, so%another@Olymp.rume@Mcc.ru. В таком случае Илья вырезает весь e-mail адрес со всеми вложенными и заменяет в нем каждый символ, кроме "%", на количество стоящих до него в адресе символов "%". Символы % в таком случае удаляются. Пример такого цензурирования: so%an%oth@M.ruer@T.rume@Mccme.ru станет 001122222222222222222222222222.

Однако наличие символа "%" еще не говорит о том, что после него идет вложенный e-mail, то есть "%" может просто являться частью имени. Пример: some%answer@Mccme.ru станет censorecensorecensor. Помогите Илье написать такую программу.

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

Единственная строка, длиной не более 255 символов. Гарантируется, что вложенность неправильных e-mail не превышает 8.

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

Выведите строку в цензурированном виде.

Примеры
Входные данные
!hello@World.ru
Выходные данные
censorecensorec
Входные данные
so%another@Olymp.rume@Mccme.ru
Выходные данные
00111111111111111111111111111
#3443
  
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
0 megabytes
Вычислите 2179. Выведите на экран вычисленное значение.

Страница: << 340 341 342 343 344 345 346 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест