На плоскости расположено 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) |
Фирма Macrohard разработала новый язык программирования: P--. В этом языке имеется K типов целых чисел – int, longint, longlongint, …, longlong…longint (K-1 раз long). Числа этих типов могут принимать значения в диапазонах 0..M0, 0..M1, …, 0..MK-1 соответственно.
Также, в этом языке имеется процедура вывода writef, которая имеет неограниченное количество параметров. В качестве первого параметра она получает строку, а в качестве второго и последующих может получать числа любого из поддерживаемых типов. При этом вывод осуществляется следующим способом: выводится строка, переданная первым параметром, в которой произведена подстановка параметров, а именно, вместо %i подставляется число типа int, вместо %li – число типа longint, вместо %ll…li (j букв l) – число типа longlong…longint (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
Город, в котором живет Петя имеет вид прямоугольника, улицы в нем образуют сетку MxN. Перед каждым перекрестком на подъезде к нему может стоять дорожный знак. Также знак может стоять после перекрестка у въезда на улицу.
В городе встречаются следующие виды дорожных знаков: знаки, установленные перед перекрестком – поворот только направо (R), поворот только налево (L), только проезд прямо (F), поворот налево запрещен (NL), поворот направо запрещен (NR), проезд прямо запрещен (NF); знаки, установленные после перекрестка – проезд запрещен (S), максимальная скорость до ближайшего перекрестка – X км/ч. (!X). В отсутствие ограничивающего знака максимальная скорость равна Y км/ч. Длина всех улиц одинакова и равна L метров. Разворачиваться на перекрестке и ехать в строго противоположном направлении не разрешается.
Петя живет в доме около перекрестка, где пересекаются xs-я вертикальная и ys-я горизонтальная улицы (улицы нумеруются, начиная с 1). Петин папа работает на заводе около перекрестка, где пересекаются xd-я вертикальная и yd-я горизонтальная улицы. Помогите Пете выяснить, какое минимальное время требуется папе, чтобы доехать на работу, если Петин папа – законопослушный водитель и соблюдает все правила дорожного движения.
Первая строка входного файла содержит целые числа M, N (1 M, N 20), Y (1 Y 80), L (1 L 10000), xs, ys, xd и yd (1 xs, xd N, 1 ys, yd M, (xs, ys) (xd, yd)).
Следующие MN строк содержат информацию о знаках, расположенных на соответствующих перекрестках (порядок перечисления перекрестков следующий: сначала идут перекрестки, расположенные на 1-й горизонтальной улице, в возрастающем порядке номеров вертикальных улиц, затем перекрестки, расположенные на 2-й горизонтальной улице, и т.д.)
Формат информации о знаках следующий: описания знаков разделяются запятыми, сначала идет буква латинского алфавита, означающая направление, в котором уходит с перекрестка улица, на которой стоит знак, затем после двоеточия идет обозначение знака (направления обозначаются буквами N, S, E и W – см. рисунок). После последнего знака идет точка. По типу знака понятно, находится он до или после перекрестка. Ограничение скорости – целое число, 1 X 80.
Выведите в выходной файл единственное число – округленное до ближайшего целого минимальное количество секунд, необходимое Петиному папе, чтобы добраться до работы (допускается ошибка в 1 секунду).
3 4 60 5000 2 2 4 3 . . S:NL. . E:L. N:S,E:S,S:S,W:!25. S:NR. . . E:!72,N:!80,W:!15. E:!10. .
3070