eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Робот

Робот

Роботу потрібно пройти на площині з точки \textbf{A} в точку \textbf{B}. Пройти по прямой не завжди можливо із-за перешкод. Потрібно написати програму, яка обчислює мінімальну довжину шляху робота з точки \textbf{A} в точку \textbf{B}. Будемо вважати розміри робота милими, якими можна знехтувати у порівнянні з перешкодами, що долаються і відстанями. Будемо вважати, що всі перешкоди представлено набором відрізків на площині. Ці відрізки робот не може перетинати у внутрішніх точках, але він може проходити через кінці відрізків, а також може ходити вздовж відрізка. \InputFile Перший рядок містить одне ціле число \textbf{N} --- кількість відрізків-перешкод (\textbf{0} <= \textbf{N} <= \textbf{100}). Далі йде \textbf{N} рядків по чотири цілих числа \textbf{X_1}, \textbf{Y_1}, \textbf{X_2} і \textbf{Y_2} у кожній. Це координати кінців відповідного відрізка. Останні два рядки містять координати \textbf{X} і \textbf{Y} точок \textbf{A} і \textbf{B}. Гарантується, що всі координати по модулю не перевищують \textbf{1000}, а також жоден з кінців відрізків не належить іншому відрізку. Початкова і кіцева точки шляху різні і не належать жодному відрізку. \OutputFile Виведіть одне число --- довжину найкоротшого шляху з точки \textbf{A} в точку \textbf{B} з чотирма знаками після десяткової крапки. Якщо шуканого шляху не існує, то виведіть \textbf{--1}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
1
5 -2 5 3
10 0
0 0
Вихідні дані #1
10.7703
Автор Павло Кузнєцов