Обнаружение столкновений
В рамках разработки системы автономного вождения ваша команда стремится доказать, что центральный контроллер движения способен подать сигнал тревоги, если существует вероятность столкновения автомобилей, если не будут предприняты корректирующие действия.
Тестовый полигон состоит из нескольких прямых трасс, пересекающихся под различными углами. Когда автомобили проходят мимо датчиков, установленных на трассах, их положение и скорость фиксируются и отправляются в центральный контроллер. Контроллер запоминает два последних набора показаний для каждого автомобиля. Мы хотим, чтобы контроллер подавал сигнал тревоги всякий раз, когда два автомобиля, если они будут двигаться, как предсказано, окажутся 'опасно близко' друг к другу в любой момент в течение следующих 30 секунд (после самого последнего из показаний датчиков). Для этой цели считайте, что автомобили находятся опасно близко, если они проходят на расстоянии менее 18 футов друг от друга. Автомобили считаются безопасными, если их ближайшее сближение составляет не менее 20 футов. Прохождение на расстоянии от 18 до 20 футов считается неоднозначным.
Предположим, что:
Автомобили остаются на своем прямом курсе.
Ускорение (изменение скорости за единицу времени) каждого автомобиля остается постоянным в течение времени между наблюдениями и в течение следующих 30 секунд, за исключением двух приведенных ниже случаев.
Исключение 1: если автомобиль замедляется, он прекращает замедление, когда его скорость достигает нуля (автомобили не переходят в задний ход).
Исключение 2: если автомобиль ускоряется, он прекращает ускорение, когда его скорость достигает 80 футов в секунду (около 55 миль в час).
Имея два последних набора показаний для каждого из двух автомобилей, определите, пройдут ли они на расстоянии менее 18 футов друг от друга в течение 30 секунд после последнего измерения.
Входные данные
Во входных данных будет несколько тестовых случаев. Каждый тестовый случай состоит из четырех наблюдений, по одному наблюдению на строку. Первые два наблюдения относятся к первому автомобилю, вторые два наблюдения относятся ко второму автомобилю.
Каждое наблюдение состоит из четырех чисел с плавающей запятой t, x, y и s, разделенных одиночными пробелами, где:
t — время наблюдения в секундах (0 ≤ t ≤ 120)
x и y дают положение автомобиля в момент наблюдения, в футах (-5000 ≤ x, y ≤ 5000)
s — скорость в футах в секунду (0 ≤ s ≤ 80)
Не будет наборов данных, в которых ближайшее сближение в указанный интервал времени попадает в неоднозначный диапазон от 18 до 20 футов. Два наблюдения для данного автомобиля всегда будут происходить в разные моменты времени, и первое время для каждого автомобиля будет раньше второго времени для этого автомобиля.
Ввод завершается строкой с четырьмя отрицательными числами.
Выходные данные
Для каждого набора данных выведите одну строку, состоящую из 1, если автомобили пройдут на расстоянии менее 18 футов друг от друга в течение 30 секунд после максимума из 4 входных времен, или 0, если нет. Не выводите лишние пробелы и не разделяйте ответы пустыми строками.