Задача Холмы (HILLS)
Маньяк с лазерной пушкой стоит посреди холмистой
местности. Лазерная пушка стоит на вертикальном штативе высоты
. Маньяк медленно поворачивает пушку, непрерывно стреляя.
Сделав один полный поворот, маньяк прекращает стрелять, так как заряд у пушки
заканчивается. Определите, какой процент выпущенных лазерных лучей попал в
холмы.
Холм – это половинка
шара из черного гранита с основанием, стоящим на земной поверхности. Основания
холмов не пересекаются. Земную поверхность считать плоской. Пушка стреляет
строго параллельно земной поверхности.
Всего холмов –
штук.
Известны
координаты центра основания
и радиус
каждого
холма. Лазерная пушка стоит в точке с координатами
.
Формат ввода/вывода:
Напишите программу HILLS, которая читает из файла HILLS.DAT исходные данные и выводит в файл HILLS.SOL число
– процент лучей, попавших в холмы. Это число должно быть определено с
точностью до
(это означает, что ваш ответ
не должен отличаться от ответа жюри больше чем на
).
В первой строке файла HILLS.DAT находится действительное число
– высота штатива, на
котором стоит пушка. В следующей строке находится число
– количество холмов. В последующих
строках находятся по три
действительных числа
разделенные пробелом – координаты
центра и радиус каждого холма.
Ограничения:
,
,
,
.
Пример:
HILLS.DAT:
1.0
3
0.0
0.0 2.0
0.0
10.0 5.0
10.0
0.0 3.0
|
HILLS.SOL:
13.098988043445459
|
CAMERAS.DAT:
4 5
1 0 1 0 1
1 1 0 1 0
0 0 1 0 1
0 0 1 1 0
|
CAMERAS.SOL:
8
|