print1665. Полигон

printПолигон

Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Одной из первоочередных задач, стоящих перед министерством обороны Флатландии, является модернизация вооружения. В связи с этим было решено построить новый испытательный полигон.
По форме полигон представляет собой выпуклый многоугольник. Для демонстрации военных испытаний на полигоне различным чиновникам, неподалеку от него решено было построить наблюдательный центр. В результате длительных исследований было установлено, что основной характеристикой местоположения наблюдательного центра является степень этого центра относительно полигона.
Степень точки `A` относительно многоугольника вычисляется по следующему правилу. Рассмотрим все лучи с вершиной в точке `A`, имеющие общие точки с многоугольником. Для каждого такого луча найдем минимальное и максимальное расстояние вдоль него от точки `A` до некоторой точки многоугольника: `d_{min}` и `d_{max}`. Степенью точки относительно данного многоугольника назовем минимум величины `d_{min}\ times\ d_{max}` по всем таким лучам.
Военные не справляются с задачей вычисления степени наблюдательного центра относительно полигона и решили подключить к этой задаче вас. Помогите им!
Ввод
Будем считать, что наблюдательный центр находится в точке `(0,\ 0)`. Входной файл содержит описание полигона.
Первая строка входного файла содержит число `n` — количество вершин полигона (`3\ ≤\ n\ ≤\ 100`). Следующие `n` содержат по два вещественных числа — координаты вершин полигона в порядке обхода их против часовой стрелки. Координаты не превышают `1000` по абсолютной величине. Гарантируется, что наблюдательный центр находится вне полигона, полигон представляет собой выпуклый невырожденный многоугольник, никакие три его последовательных вершины не лежат на одной прямой. Никакая сторона многоугольника не лежит на луче с центром в начале координат.
Вывод
Выведите в выходной файл одно число — степень наблюдательного центра относительно полигона. Ответ должен отличаться от правильного не более чем на `10^{-4}`.

Пример ввода

3
1.0 2.0
3.0 2.0
0.5 3.25

Пример вывода

7.000000000
15072.png
Источник: VI Всероссийская командная олимпиада школьников по программированию, 2005
loading