Я пытаюсь найти высоту центра круга (H) относительно горизонта (ось X). Солнце представляет собой круг радиусом $R$, а его центр всегда находится в точке (0, H).
Горизонт – это ось x (y = 0). Имеется N небоскребов, представленных в виде прямоугольников. Каждый прямоугольник $i$ определяется его левой координатой x (x_i), шириной (w_i) и высотой (h_i). Прямоугольники расположены на горизонте, что означает, что их диапазон y равен [0, h_i].
Правила видимости:
- Часть солнца видна, только если она находится над горизонтом (y > 0).
- Часть солнца не видна, если она закрыта рядом со зданием.
- Здания не перекрываются, но могут соприкасаться.
Определить высоту $H$ центра круга над горизонтом так, чтобы общая видимая площадь составляла ровно половину общей площади Солнца (\pi R^2 / 2).
Ограничения:
- N: количество небоскребов
- R: радиус Солнца
- Здание i охватывает диапазон x [x_i, x_i + w_i] и диапазон y [0, h_i].
- h_1 и h_n \le R
- |h_i - h_{i-1}| \le R
- Координаты x_i и размеры w_i, h_i находятся в диапазоне от -100 до 100.
Входные данные: 0 42 (0 зданий, радиус 42)
Выходные данные: 0,000000 (Видимая область равна половине, когда центр находится точно на горизонте)
Пример 2:
Ввод:
Код: Выделить всё
3 4
-3 1 1
-2 1 2
0 2 2
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-half-the
Мобильная версия