`
В поисках сокровища грабители наткнулись на препятствие в виде прямоугольной каменной плиты, закрывающей вход в подземелье. Плита усеяна трещинами. Каждая трещина представляет собой прямолинейный отрезок. Никакие две трещины не пересекаются и не касаются друг друга. Никакая трещина не касается границ плиты. Чтобы попасть в подземелье, нужно разломить плиту. Разлом представляет собой ломаную линию, соединяющую противоположные стороны плиты. Разлом может включать в себя существующие трещины или части трещин.Пробивание разлома в плите – это долгий и утомительный процесс, однако те части разлома, которые проходят по существующим трещинам, пробивать не надо. Грабители, с помощью хакера Васи, нашли такой оптимальный разлом, для которого суммарная длина пробиваемой части разлома минимальна.
Определите длину пробиваемой части оптимального разлома.
Технические условия:
Напишите программу CRACKS, которая читает входные с клавиатуры и записывает ответ в на экран. В первой строке ввода находятся два действительных числа W, H – ширина и высота плиты. В выбранной системе координат, плита представляет собой прямоугольник с вершинами в точках (0,0) (W,0),(W,H) и (0,H) Во второй строке находится число N – количество трещин. В следующих N строках находятся по 4 числа X1k, Y1k, X2k,Y2k – координаты концов трещин (k=0, 1...N) .
Ответ должен содержать единственное число – суммарную длину пробиваемой части оптимального разлома. Ответ не должен отличаться от правильного больше, чем на 10-3 .
Ограничения:
0.0<W<10000.0 0.0<H<=1000.0 1<=N<=100
Пример:
Ввод 8.0 7.0 4 1.0 2.0 2.0 5.0 2.0 3.0 5.0 2.0 6.0 2.0 6.0 4.5 7.0 4.0 7.9 3.0 |
Вывод 3.73245553203
|
© LIKT 1998-2024