Ограничения: время – 20ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Человек с сотовым телефоном передвигается вдоль прямого отрезка пути, конечные точки которого имеют целочисленные координаты.
Для того, чтобы телефон работал, необходимо находиться в зоне покрытия одной из трансляционных вышек.
В процессе передвижения человека вдоль пути, он может выходить из радиуса покрытия сотовой вышки, или наоборот,
входить в зону покрытия. Телефон остается "в сети", если он находится в зоне покрытия хотя бы одной вышки,
и "не в сети", если он не находится в зоне покрытия ни одной вышки.
Зная координаты вышек сотовой связи и радиусы их зон покрытия, вам необходимо найти
процентное отношение суммарной длины участка пути, покрытого сотовой связью, к длине всего пути.
В первой строке ввода содержится одно целое число `N` (`1\ ≤\ N\ ≤\ 100`) – количество вышек сотовой связи.
В следующей строке содержатся четыре целых числа, разделенных пробелами `A_x,\ A_y,\ B_x,\ B_y` – координаты начальной и конечной точки отрезка пути.
В каждой из следующих `N` строк содержатся по три целых числа через пробел `C_{x\ i},\ C_{y\ i},\ R_i` – координаты вышки сотовой связи и радиус ее зоны покрытия.
Все координаты по абсолютному значению не превосходят 100. Радиусы действия вышек находятся в диапазоне от 1 до 100 включительно.
Вывести одно число `R` – покрытие отрезка пути сотовой связью, выраженное в процентах, с точностью `10^{-2}`.
Пример ввода 1
3
0 0 100 0
0 0 10
5 0 10
15 0 10
Пример ввода 2
1
0 0 100 0
40 10 50