27/12/2020 | Очный тур личного первенства по спортивному программированию (L*) |
Ограничения: время – 1s/2s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Том отправляется в путешествие по Марсу, но во время такой поездки важно оставаться на связи со спасательными службами. Поэтому весь маршрут путешествия должен проходить не далее d км от какой-нибудь вышки связи.
Первая строка ввода содержит одно число K (1≤K≤100) - количество тестов. Каждый тест содержит в первой строке два целых числа - максимальное расстояние от вышки d (1≤d≤1000) и и количество вышек N (1≤N≤100). Далее следует строка с координатами стартовой точки путешествия. Далее следует строка с координатами конечной точки путешествия. Далее следует N строк с координатами вышек. Все координаты целые в диапазоне от 1 до 1000. Все пары координат различны. Стартовая точка находится не далее d км от одной из вышек. Размером вышек пренебречь - можно проезжать через точку, где находится вышка.
Для каждого теста вывести строку содержащую одно число - минимальную длину маршрута с точностью 10-6 или -1, если безопасно добраться до конечной точки невозможно.
Пример ввода
2 2 3 1 1 8 2 2 2 4 4 7 3 1 20 1 1 1000 1000 10 10
Пример вывода
7.232241 -1