Місто
Limits: 2 sec., 256 MiB
У місті, де живе Петрик, усі вулиці виявилися ламаними. Петрик дуже поспішає в справах, а місто він знає не дуже добре. Кожною вулицею рухатися можна дуже швидко — таксі чекають вас майже на кожному кроці, тому час переміщення вулицею можна вважати рівним нулю. Таксі може підібрати Петрика будь-де і висадити будь-де на вулиці. А от, щоб перебігти з однієї вулиці на іншу, Петрику необхідно дуже багато часу.
Для максимального пришвидшення свого руху Петрик вирішив попросити вас написати програму, яка б визначила, яку мінімальну відстань він має пройти, щоб добратися до потрібного йому місця.
Input
У першому рядку задано ціле число \(n\) — кількість вулиць у місті.
У другому рядку задано чотири цілих числа — координати Петрика й координати, куди Петрик хоче попасти.
У наступних \(n\) рядках задано кожну вулицю у форматі \(m_i\) — кількість поворотів на вулиці (початок і кінець вулиці — це також «повороти»), далі координати цих поворотів. Якщо з’єднати ці точки в заданому порядку, то вийде потрібна ламана.
Output
У єдиному рядку виведіть дійсне число — мінімальну відстань, яку Петрику доведеться подолати пішки. Вiдповiдь уважатиметься правильною, якщо абсолютна або вiдносна похибка не перевищуватиме \(10^{-4}\).
Constraints
\(1 \le n \le 100\),
\(2 \le m_i \le 10\),
усі координати цілі й за модулем не перевищують \(10^4\).
Samples
Input (stdin) | Output (stdout) |
---|---|
2 0 0 2 2 3 0 0 1 1 2 0 2 1 1 2 0 | 1.414213 |
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|