Технокубок 2019 - Отборочный Раунд 3 |
---|
Закончено |
В этой задаче мы рассматриваем упрощённую модель города Барселона.
Барселона может быть представлена как плоскость, а её улицы — как прямые вида $$$x = c$$$ и $$$y = c$$$ для любого целого числа $$$c$$$ (то есть, улицы представляют собой прямоугольную сетку). Однако есть кое-что, что отличает Барселону от Манхеттена, а именно, проспект, который называется Avinguda Diagonal (Диагональный проспект) и который может быть представлен на плоскости как множество точек $$$(x, y)$$$, удовлетворяющих $$$ax + by + c = 0$$$.
Перемещаться по городу можно только по улицам, в том числе и по Диагональному проспекту. Вам даны точки $$$A$$$ и $$$B$$$ в Барселоне. Найдите минимальное расстояние, которое необходимо пройти, чтобы попасть в точку $$$B$$$ из точки $$$A$$$.
Первая строка содержит три целых числа $$$a$$$, $$$b$$$ и $$$c$$$ ($$$-10^9\leq a, b, c\leq 10^9$$$, at хотя бы одно из чисел $$$a$$$ и $$$b$$$ не равно нулю), задающих Диагональный проспект.
Следующая строчка содержит четыре целых числа $$$x_1$$$, $$$y_1$$$, $$$x_2$$$ и $$$y_2$$$ ($$$-10^9\leq x_1, y_1, x_2, y_2\leq 10^9$$$), задающих точки $$$A = (x_1, y_1)$$$ и $$$B = (x_2, y_2)$$$.
Найдите минимальное расстояние, которое необходимо пройти от $$$A$$$ до $$$B$$$. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не превосходит $$$10^{-6}$$$.
Формально, пусть ваш ответ равен $$$a$$$, а ответ жюри равен $$$b$$$. Ваш ответ будет зачтен, если и только если $$$\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-6}$$$.
1 1 -3 0 3 3 0
4.2426406871
3 1 -9 0 3 3 -1
6.1622776602
Первый пример показан на рисунке ниже слева, второй — справа. Проспект показан синим, начало координат отмечено черной точкой.
Название |
---|