`Всеукраїнський центр проведення олімпіад в мережі Інтернет
Задания по информатике

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

 

 

© LIKT 1998-2024