Задача Lake

У тридев'ятому царстві, в тридесятій державі жив та був Іван – селянський син. Приснився йому якось сон. Нібито зустрів Іван добру чарівницю, і мовила вона: «Одружуватися тобі пора, Іванку. Сідай на коня і їдь за тридев'ять земель до хатинки на курячих ніжках. Тільки дивися, у воду не заходь. І якщо знайдеш найкоротший шлях до хатинки, буде тобі дружиною Василиcа Прекрасна». Прокинувся Іван, а у нього в руках карта тридев'ятого царства, тридесятої держави. Всі водоймища в державі – озера, кожне озеро має форму правильного багатокутника. Жодні два озера не мають спільних точок. Допоможіть Івану дістатися до хатинки.

Технічні умови: Спочатку ви вводите з клавіатури координати будинку Івана і координати хатинки. Потім Ви вводите кількість озер (не більше 10). Потім для кожного озера Ви вводите кількість сторін (від 3 до 20), координати центра і координати однієї вершини.Всі числа розділені пропуском. Всі координати – дійсні числа, що не перевершують по модулю 1000000. Ви виводите на екран довжину найкоротшого шляху.

Приклад.

Введення> -20 10 -19 -6 2 6 -30 -12 -25 -12 4 -20.5 2.5 -16 7
Виведення> 19.0000000

Коментар. Два озера: шестикутне і квадратне. Шуканий шлях проходить вздовж берега квадратного озера.


Задача Lake

В тридевятом царстве, в тридесятом государстве жил да был Иван – крестьянский сын. Приснился ему как-то сон. Будто бы встретил Иван добрую волшебницу, и молвила она: «Жениться тебе пора, Иванушка. Садись на коня и езжай за тридевять земель к избушке на курьих ножках. Только смотри, в воду не заходи. И если найдешь кратчайший путь к избушке, будет тебе женой Василиса Прекрасная». Проснулся Иван, а у него в руках карта тридевятого царства, тридесятого государства. Все водоемы в государстве – озера, каждое озеро имеет форму правильного многоугольника. Никакие два озера не имеют общих точек. Помогите Ивану добраться до избушки.

Технические условия: Сначала вы вводите с клавиатуры координаты дома Ивана и координаты избушки. Затем Вы вводите количество озер (не более 10). Затем для каждого озера Вы вводите количество сторон (от 3 до 20), координаты центра и координаты одной вершины. Все числа разделены пробелом. Все координаты – вещественные числа, не превосходящие по модулю 1000000. Вы выводите на экран длину кратчайшего пути.

Пример.

Ввод> -20 10 -19 -6 2 6 -30 -12 -25 -12 4 -20.5 2.5 -16 7
Вывод> 19.0000000

Комментарий. Два озера: шестиугольное и квадратное. Искомый путь проходит по берегу квадратного озера.

© LIKT 1998-2018