Страница: << 79 80 81 82 83 84 85 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Как и у каждого мальчика, у Феди есть игрушечные машинки. Однако ему повезло больше, чем обычному мальчику — все \(n\) его машинок являются радиоуправляемыми. Целыми днями он может устраивать различные автогонки и играть с друзьями.

Из всех видов гонок Федя предпочитает гонки по прямой. В данном формате соревнования трасса имеет форму прямой и является бесконечной (соревнования идут до тех пор, пока Феде это не надоест). Изначально каждая из \(n\) машинок находится на некотором расстоянии от старта — имеет фору \(x_i\) метров. По команде все машинки начинают свое движение от старта, при этом каждая машинка движется во время гонки с постоянной скоростью \(v_i\) метров в секунду. Все машинки движутся в одном направлении — удаляются от старта.

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

Так как этого события можно ждать очень долго, Федя хочет настроить камеру на автоматическое включение во время обгона. Однако, Федя самостоятельно не может найти время, которое пройдет со времени начала гонки до времени первого обгона. Помогите Феде — напишите программу, находящую искомую величину.

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

В первой строке входного файла содержится единственное число \(n\) — количество машинок на трассе (2 \(\leq\) n \(\leq\) 100). Каждая из следующих \(n\) строк содержит по два целых числа \(x_i\) и \(v_i\) — расстояние от старта (в метрах) и скорость машинки \(i\) (в метрах в секунду) соответственно (1 \(\leq x_i, v_i \leq\) 1000).

Исходно никакие две машинки не находятся в одной точке. Гарантируется, что хотя бы один обгон во время гонки произойдет.

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

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

Примечание

Пояснение для первого примера:

На рисунке точкой A обозначено место обгона.

Примеры
Входные данные
2
1 3
4 2
Выходные данные
3.00000
Входные данные
2
12 20
2 21
Выходные данные
10.00000
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

Например, схема игры 5-3-2 означает, что в команде пять защитников, три полузащитника и два нападающих. В соответствии с современными представлениями на схему игры накладываются следующие ограничения: должно быть не менее одного и не более пяти защитников, не менее одного и не более пяти полузащитников и не более трех нападающих. Отметим, что нападающих может в команде и не быть совсем. Будем рассматривать только такие схемы.

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

Будем также считать, что игрок в некоторый момент времени находится в линии полузащиты, если он находится на расстоянии не более 20 метров от центральной линии. Соответственно, игрок находится в линии защиты, если он находится не более чем в 40 метрах от «своей» лицевой линии, и в линии нападения, если находится не более чем в 40 метрах от «чужой» лицевой линии.

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

В процессе игры некоторые игроки могут перемещаться из одной линии в другую. В этой задаче будем считать, что возможно перемещение из полузащиты в защиту (и обратно) и из полузащиты в нападение (и обратно). Таким образом, игрок, который в соответствии со схемой игры является защитником, не может оказаться в линии нападения, и наоборот — игрок, который в соответствии со схемой игры является нападающим, не может оказаться в линии защиты. Кроме этого, в соответствии с установкой тренера из каждой линии в каждую могло перейти не более двух игроков.

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

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

Входной файл содержит десять строк, содержащих по два целых числа xi и yi каждая, — координаты каждого из игроков команды (0 xi 120, xi 40, xi 80, 0 yi 80).

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

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

Примеры
Входные данные
97 0
13 18
2 6
119 11
42 21
72 80
75 78
106 45
22 67
28 47
Выходные данные
9
2-5-3
3-5-2
3-4-3
4-5-1
4-4-2
4-3-3
5-4-1
5-3-2
5-2-3
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

В новой математической игре для одного игрока «Таблица чисел» используется таблица размером n строк на m столбцов, заполненная целыми числами. За один ход игрок выбирает одну из строк или один из столбцов и меняет знак на противоположный у всех чисел этой строки или столбца.

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

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

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

Первая строка входного файла содержит два целых числа: n и m (2 n, m 100). Каждая из последующих n строк содержит по m целых чисел ai,j (|ai,j| 100).

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

В первой строке выходного файла выведите k — число ходов, которые необходимо выполнить, или «-1», если цели игры добиться невозможно. В первом случае в последующих k строках выведите описание этих ходов.

Описание каждого хода должно быть выведено в отдельной строке, которые должны содержать: тип хода («R» — на этом ходе выбирается строка или «C» — на этом ходе выбирается столбец) и номер соответствующей строки или столбца. Строки и столбцы нумеруются натуральными числами начиная с единицы, строки нумеруются сверху вниз, а столбцы — слева направо.

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

Примеры
Входные данные
2 2
-1 -3
1 -2
Выходные данные
1
C 2
Входные данные
3 2
-1 -1
-1 -1
-1 -1
Выходные данные
3
R 1
R 2
R 3
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Компания «Замки и замки» недавно разработала новый тип кодового замка, для размещения на воротах замков. Панель замка представляет собой прямоугольник шириной w ячеек и высотой h ячеек. В некоторых из них расположены кнопки.

Код на этом замке вводится одновременным нажатием k кнопок. Для того, чтобы код было легче запомнить, используемые в нем кнопки должны образовывать связную область. Область называется связной, если из любой клетки области можно добраться до любой другой, перемещаясь только между клетками этой области с общей стороной. Важным критерием надежности замка является число различных кодов, которые на нем можно набрать.

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

Формат входных данных

В первой строке входного файла находятся три целых числа h, w и k (1 h, w 30; 1 k 10). Каждая из последующих h строк содержит w символов. Символ «#» обозначает кнопку, а «.» — ее отсутствие.

Формат выходных данных

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

Примеры

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

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

2 2 2

.#

##

2


5 6 7

.#....

##.##.

..#.#.

.####.

.....#

3

На рисунке изображен один из возможных кодов для второго примера.

Компания Macrohard выпустила в свет новую версию операционной системы «Frames» («Рамки») и теперь стремится внедрить ее на рынок информационных технологий. Каждая фирма, заказывающая новую версию «Рамок», получает лицензионные ключи от компании Macrohard по следующим правилам:

  • каждой копии присваивается уникальный 25-разрядный ключ, состоящий из цифр и заглавных букв латинского алфавита. Код разбивается на группы по 5 символов, которые разделяются между собой знаком «-»
  • по каждому ключу можно вычислить его контрольную сумму по следующему правилу: необходимо сложить веса значащих символов и взять остаток от деления этой суммы на некое число P, где вес символа есть
    • значение цифры, если символ является цифрой (то есть вес цифры 5 равен пяти)
    • порядковый номер буквы в латинском алфавите плюс 9 (то есть вес буквы F равен 15)
Например, для кода 12345-12345-12345-12345-12345 при P = 11 контрольная сумма равна (1+2+3+4+5)*5 mod 11 = 9
  • контрольная сумма является идентификатором фирмы, которая покупает операционные системы, следовательно, оно должно быть различным для разных юридических лиц.

Операционной системой заинтересовался один влиятельный человек, пожелавший установить ее на свой персональный компьютер. Вам, как работнику отдела лицензирования Macrohard, поручено сгенерировать новый ключ, который не только не повторяется с выданными ранее ключами, но и обладает новой (не используемой ранее) контрольной суммой. Требуется написать программу, которая решает эту задачу.

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

В первой строке входного файла содержится два натуральных числа N и P (1 N 30000, 1 P 1000), где N – число уже использованных ключей, P – число, используемое для подсчета контрольной суммы. В следующих N строках следуют ключи, которые задаются в виде
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX, где X – значащий символ (цифра или буква латинского алфавита).

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

В выходной файл требуется вывести новый уникальный ключ в соответствии с указанным форматом, обладающий уникальной контрольной суммой. В случае, если такой ключ сгенерировать невозможно, выведите слово «Impossible».

Ввод
Вывод
3 5
23545-14978-59345-87926-52496
67955-58818-19438-55659-02068
99185-57241-15114-39158-36125
01389-28172-62843-79648-28129
5 3
BGPOV-D618J-FTN7L-4QWZJ-E6P8S
7K3J3-I8076-58COS-0066F-9UAT4
7S17C-YI099-1UC85-5S9PB-772LT
TN2I4-TC1Z6-1OLI6-LT43G-9JMD3
73OQ3-A9NBJ-N7UT7-AI349-XYJDT
1APMP-RSO53-G743I-F5TK6-R6487
5 4
7911L-5D41U-0N09C-34T16-5D0KI
FRLAX-RE1Y1-WFVU0-88R56-C5D4V
RUG51-IR00T-8L812-R6056-7OM59
804F2-L7292-I12PX-14NDO-02LEW
J3QQ4-H7H2V-2HCH4-M3HK8-6M8VW
Impossible

Страница: << 79 80 81 82 83 84 85 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест