printРабочее место участника

printЗадачи

1849. Ловушка

Ограничения: время – 500ms/1000ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

25129.gif
Во время одного из путешествий конструкторы Трурль и Клапауций столкнулись с коварным царем Жестокусом. Но друзьям удалось спастись, поймав Жестокуса в ловушку, которую они нашли, моделируя поведение царя на бумаге.
Пусть равнобедренный прямоугольный треугольник с вершинами в точках A(0,0), B(10,0), C(10,10) определяет весь спектр возможного поведения. Царь Жестокус действует весьма прямолинейно, и его поведение описывается отрезком AF, где F – какая-то внутренняя точка треугольника ABC.
Треугольник АВС делится на две части высотой BH, проведенной к гипотенузе треугольника. Если отрезок AF пересекает отрезок BH (царю удалось вырваться из ловушки), то далее рассматриваем треугольник BHC. Если отрезок AF не пересекает отрезок BH, то пытаемся загнать царя в ловушку в треугольнике ABH. Аналогично поступаем и с выбранным треугольником, проводя в нем высоту к гипотенузе и выбирая тот треугольник, в котором оказалась точка F. И так далее до бесконечности.
Напишите программу, которая подсчитает суммарную площадь построенных треугольников, "пронзенных" отрезком AF (т.е. треугольников, граница которых пересекается отрезком AF в двух точках).
Формат ввода
Во входном файле в первой строке содержится два вещественных числа `x` и `y` (`0 < y < x < 10), разделенных пробелом – координаты точки F. Числа `x` и `y` заданы с тремя десятичными знаками после десятичной точки.
Формат вывода
В выходной файл в первой строке вывести суммарную площадь "пронзенных" отрезком AF треугольников с точностью 0.001.

Пример ввода

7.500 4.000

Вывод для примера

28.125
loading