electicode
ГлавнаяКурсыРесурсыЗадачиНациональная олимпиадаСоревнованияТаблица лидеров
...

Муравей

Ограничение времени: 1000msОграничение памяти: 256MB
Все решения

Описание задачи

Муравей находится на доске, имеющей форму выпуклого многоугольника. Он идет прямо в том направлении, в котором смотрит, но не знает, в каком направлении то. Если он достигнет края доски, он упадет. Учитывая положение Муравья и позиции вершин, которые составляют выпуклый многоугольник доски, определите кратчайшее расстояние, которое он может пройти, прежде чем упасть с доски. Все позиции заданы в 2D координатах.

Входные данные

Первая строка содержит два целых числа xxx и yyy, представляющих координаты Муравья (−100≤x≤100-100 \le x \le 100−100≤x≤100, −100≤y≤100-100 \le y \le 100−100≤y≤100).

Вторая строка содержит целое число NNN, представляющее количество вершин многоугольника (3≤N≤103 \le N \le 103≤N≤10).

Следующие NNN строк содержат целые числа xix_ixi​ и yiy_iyi​ (−100≤xi,yi≤100-100 \le x_i, y_i \le 100−100≤), представляющие координаты вершин многоугольника, заданные в порядке обхода против часовой стрелки.

Все входные значения являются целыми числами. Точка (x,y)(x,y)(x,y) гарантированно находится строго внутри многоугольника (не на границе), и многоугольник гарантированно является выпуклым.

Выходные данные

Выведите кратчайшее расстояние, которое Муравей может пройти, прежде чем упасть с доски, в одной строке. Вывод будет принят, если абсолютная ошибка или относительная ошибка не превышает 10−610^{-6}10−6.

Система оценки

ПодзадачиДополнительные ограниченияБаллыТребуемые подзадачи
0Пример0—
1N=3N = 3N=325—
2N=4N = 4N=4, гарантируется, что стороны параллельны осям координат15

Примеры

Пример 1
Ввод
0 0
4
100 100
-100 100
-100 -100
100 -100
Вывод
100
Пример 2
Ввод
10 10
3
0 100
-100 -100
100 -100
Вывод
31.3049516850
Пример 3
Ввод
34 6
7
-43 -65
-23 -99
54 -68
65 92
16 83
-18 43
-39 2
Вывод
25.0284205314

© 2026 Electicode. All rights reserved.

xi​,yi​≤
100
—
3—600, 1, 2