`
Задача Бочка (BARREL)
Имеется бочка с некоторым количеством воды. В бочку опускают заданное количество брусков в форме куба разных размеров и плотности. Затем сверху опускают крышку так, что она касается краев бочки.
Нужно определить получаемый уровень воды.
Предполагается, что плотность воды равна 1.0; присутствие воздуха можно не учитывать; все бруски целиком влезают в бочку; бруски располагаются в воде вертикально и не касаются друг друга.
Напишите программу BARREL, которая читает с клавиатуры: три вещественных числа - площадь дна бочки S, высоту бочки H, объем воды V, затем количество брусков N и далее N пар вещественных чисел - длины сторон кубов Lx и их плотности D x. Программа должна вывести на экран вещественное число X - уровень воды в бочке после добавления брусков. Это число нужно определить с точностью до ε =10 -4.
Ограничения:
0<= S <= 1000.0, 0<= H <= 1000.0, 0<= V <= S*H
0<= N <= 1000, 0<= Lk <= 1000.0,
0<= Dk <= 10.0 (k = 1,2,...,N)
Формат ввода/вывода:
Ввод:
S H V
N
L1 D1
L2 D2
...
LN DN
Вывод:
X
Пример:
Ввод: 100.0 10.0 500.0 1 1.0 0.5 |
Вывод: 5.0050 |
© LIKT 1998-2024