Страница: << 39 40 41 42 43 44 45 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Главная улица столицы Флатландии представляет собой прямоугольник с вершинами в точках
(0, 0), (0, 2), (N, 2), (N, 0). Ночью во Флатландии был сильный снегопад и теперь на некоторых единичных квадратиках улицы лежит снег.

Снегоуборочная машина представляет собой отрезок длины 1, изначально расположеный так, что его концы имеют координаты (K, 0) и (K, 1). Снегоуборочная машина может за 1 секунду переместиться в горизонтальном направлении на 1, при этом ее отрезок «заметает» клетку. Если на этой клетке был снег, то он исчезает. Кроме того, машина может мгновенно переместиться на 1 вверх или вниз (при этом отрезок перемещается по прямой, на которой он лежит).

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

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

Первая строка входного файла содержит N и K (1 N 1000, 0 K N). Следующие N строк содержат по два числа каждая, первое число i+1-й строки равно 1, если на клетке (i, 0) лежит снег и 0 в противном случае. Второе число показывает, есть ли снег на клетке (i, 1).

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

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

Буква

Действие

R

переместиться вправо на клетку (на вектор (1, 0) )

L

переместиться влево на клетку (на вектор (-1, 0) )

U

переместиться вверх (на вектор (0, 1) )

D

переместиться вниз (на вектор (0, -1) )

В процессе работы машина не должна выходить за пределы дороги. Конечное положение машины может быть любым.

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

 Петя построил из карт домик, подобный тому, что изображен на рисунке. В нижнем ряду находится 2N карт.

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

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

Формализуем некоторые понятия:

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

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

Первая строка входного файла содержит число N (1 N 30000). Вторая строка содержит описание вынутой Ваней карты: первый символ – одна из букв H или V – задает направление карты в исходном домике (горизонтальное или наклонное соттветственно), затем следуют два числа – номер ряда, в котором лежала карта, считая сверху, начиная с 1 (счет ведется отдельно для горизонтальных и вертикальных рядов), и номер карты в этом ряду, считая слева, начиная с 1. Числа отделены от символа, задающего направление, и друг от друга пробелами.

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

Выведите в выходной файл единственное число – количество осыпавшихся карт (не считая вытащенной Ваней).

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

Во многих современных приложениях используется двухбайтовая таблица символов Unicode. В отличии от однобайтовой ASCII, в Unicode на один символ приходится не один, а два байта. Благодаря этому, в Unicode могут быть представлены не 256, а 65536 различных символов, что позволяет без пересечений включить в таблицу символы различных алфавитов.

Однако большинство систем обработки текстов по историческим причинам используют ASCII, при этом возникают проблемы с символами национальных алфавитов: в различных кодировках символы с одним и тем же кодом ASCII отвечают различным сиволам.

Чтобы обойти эту проблему, разработчики различных систем обработки текстов вводят различные кодовые последовательности для обозначения символов национальных алфавитов. В этой задаче вам предлагается осуществить перевод текста, написанного для системы TEX, в Unicode. Сразу отметим, что модель, предлагаемая в данной задаче упрощенная и не вполне соответствует действительности.

В TEX-е для включения в текст символа национального алфавита используется команда \IeC. Каждому символу национального алфавита ставится в соответстие некоторая последовательность латинских букв, например русской букве "п" ставится в соотвтствие посделовательность \cyrp, и эта последовательность записывается в фигурных скобках после команды \IeC. Так, чтобы включить в текст букву "п" надо написать \IeC{\cyrp}. Пробелы в кодовой последовательности не разрешаются.

Дан текст, оформленный в стиле TEX-а. Выведите в выходной файл последовательность Unicode-кодов символов текста. При этом все известные включения символов национальных алфавитов следует преобразовать в соответствующий Unicode-символ. Остальные символы, а также последовательности, отвечающие неизвестным символам, следует вывести неизменными (при переходе от ASCII к Unicode старший байт двухбайтового символа становится равным 0). Некоторые кодовые последовательности могут быть неправильными (например, содержать пробелы или иным способом не удовлетворять формату). Их тоже следует вывести неизменными.

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

Первая строка содержит число N – количество известных символов национальных алфавитов (1  N  100). Следующие N строк содержат кодовые последовательности этих символов и соответствующие коды символов Unicode (которые задаются как 2-байтовое число в 16-ричной системе счисления, записаны 4 символа), разделенные одним пробелом. Все кодовые последовательности начинаются с символа "\", за которым следует не более 10 латинских букв. После кодовых последовательностей следует текст, который следует обработать. Игнорируйте переводы строк (но не в кодовых последовательностях).

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

Выведите в выходной файл последовательность Unicode-кодов символов, которые будут составлять преобразванный файл. Каждый код должен представлять собой 16-ричное число, дополненное при необходимости ведущими нулями до 4 символов. Числа должны быть разделены пробелами и/или переводами строки.

Примеры
Входные данные
4
\ARMA 0531
\arma 0561
\ARMB 0532
\armb 0562
Text in Armenian:
\indexentry{\IeC{\arma}\IeC{\Arma}
\IeC{\ARMA} \IeC{\armb}\IeC{\ARMB}}
Выходные данные
0054
0065
0078
0074
0020
0069
006E
0020
0041
0072
006D
0065
006E
0069
0061
006E
003A
005C
0069
006E
0064
0065
0078
0065
006E
0074
0072
0079
007B
0561
005C
0049
0065
0043
007B
005C
0041
0072
006D
0061
007D
0531
0020
0562
0532
007D
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

На плоскости расположено N хулиганов, в точках (x1, y1), (x2, y2), … (xN, yN). Каждый хулиган характеризуется своей грозностью Ti и силой Si.

Маленький мальчик Петя изначально находится в точке (x, y). Если в начальный момент Петя находится на расстоянии меньшем либо равном Si от i-го хулигана, то тот бросает в него снежком. Испугавшись, Петя бежит в направлении от хулигана (по прямой, соединяющей Петю и хулигана) со скоростью V м/с в течении Ti секунд, после чего останавливается. Если в этот момент он снова находится близко к хулигану, в него снова бросают снежком, и т. д.

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

Гарантируется, что Петя никогда не остановится в точке, где находится хулиган.

Определите конечное состояние Пети, одно из:

убежал домой из точки (x, y) через t секунд.

плачет в точке (x, y)

радуется в точке (x, y), начиная с t секунды

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

На первой строке входного файла находится 5 чисел: целое N - количество хулиганов (0 N 100), вещественные V, x, y, – скорость и начальные координаты Пети и целое число T (1 T 10000). Следующие N строк содержат описания хулиганов в следующем формате: xi, yi, Ti, Si (xi, yi, Si – вещественные, Ti   целое, 1  Si  1000.0, |xi|, |yi| 1000.0, 1 Ti  1000) . Все числа разделяются одним или несколькими пробелами.

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

Выведите в выходной файл одно из трех указанных предложений, подставив вместо x, y и t истинное положение Пети и соответствующий момент. Координаты следует выводить ровно с 2 знаками после запятой, время – целое число.

Примеры

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

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

0 1.0 1.5 3.14 7

радуется в точке (1.50, 3.14), начиная с 1 секунды

1 1.0 1.0 0.0 4

0.0 0.0 4 3.0

радуется в точке (5.00, 0.00), начиная с 5 секунды

1 1.2 1.0 0.0 4

0.0 0.0 10 3.0

плачет в точке (13.00, 0.00)

2 1.0 1.0 0.0 5

0.0 0.0 2 1.2

4.0 0.0 2 1.2

плачет в точке (3.00, 0.00)

2 1.0 1.0 0.0 4

0.0 0.0 2 2.0

2.0 0.0 2 2.0

убежал домой из точки (1.00, 0.00) через 0 секунд

3 1.0 1.0 0.0 4

0.0 0.0 1 1.0

2.0 1.0 2 1.0

2.0 -1.0 2 1.0

убежал домой из точки (2.00, 0.00) через 1 секунд

2 1.0 1.0 0.0 1

0.0 0.0 1 10.0

4.0 0.0 1 1.0

плачет в точке (3.00, 0.00)

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Фирма Macrohard разработала новый язык программирования: P--. В этом языке имеется K типов целых чисел – int, longint, longlongint, …, longlonglongint (K-1 раз long). Числа этих типов могут принимать значения в диапазонах 0..M0, 0..M1, …, 0..MK-1 соответственно.

Также, в этом языке имеется процедура вывода writef, которая имеет неограниченное количество параметров. В качестве первого параметра она получает строку, а в качестве второго и последующих может получать числа любого из поддерживаемых типов. При этом вывод осуществляется следующим способом: выводится строка, переданная первым параметром, в которой произведена подстановка параметров, а именно, вместо %i подставляется число типа int, вместо %li – число типа longint, вместо %llli (букв l) – число типа longlonglongint (j раз long). Вывод числа осуществляется в системе счисления с основанием B (2 B 36).

Цифрами в системе счисления с основанием B являются обычные десятичные цифры и, если их недостаточно, заглавные буквы латинского алфавита в алфавитном порядке. Например, 10010=4С22, 126010=Z036.

При этом тип передаваемых параметров должен совпадать с соответствующими шаблонами. Например, если M0=300, M1=3000, M2=1000000, B=10, то writef(“hello %i%li”, 300, 500) выведет “hello 300500”.

Дана строка, которую вывела некоторая процедура writef. Выясните, какая самая короткая строка могла быть передана передана этой процедуре в качестве первого параметра. Например, для приведенного выше примера, это могла быть строка “hello %lli”.

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

На первой строке входного файла находятся числа K и B (1 K 50, 2 B 36). Следующая строка содержит числа M0, M1, …, MK-1 (0 M0 M1 MK-1 109, числа заданы в десятичной системе счисления). На следующей строке находится текст, выведенный некоторой процедурой writef. Длина текста не превышает 200 символов. Текст не содерждит символов "%".

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

Выведите в выходной файл самую короткую строку, которая могла быть передана процедуре writef в качестве первого параметра. На второй строке перечислите все остальные параметры, которые были ей переданы, числа выводите в десятичной системе счисления и разделяйте ровно одним пробелом.

Если решений несколько, достаточно выдать любое.

Примеры
Входные данные
3 10
300 3000 1000000
hello 300500
Выходные данные
hello %lli
300500 
Входные данные
1 4
1
hello 111
Выходные данные
hello 111

Входные данные
1 2
10
hello 111
Выходные данные
hello %i
7 

Страница: << 39 40 41 42 43 44 45 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест