Задача Холмы (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
|