Чтобы решить задачу, нам нужно попробовать найти оптимальные способы рассадки друзей на качелях, а также определить минимальную массу камня, необходимую для поддержания допустимой разницы в массах.
Определение входных данных: Даны массы друзей:
- Аня: A кг
- Боря: B кг
- Саша: C кг
- Допустимая разница: D кг
Комбинации рассадки: Мы будем рассматривать все возможные комбинации из двух людей на одной стороне качелей и одного — на другой стороне. Возможные варианты:
- Аня и Боря против Саши
- Аня и Саша против Бори
- Боря и Саша против Ани
Формулы для вычисления разницы масс: Для каждой комбинации можем вычислить разницу между массами и определить, нужен ли камень, и если да, то какую минимальную массу нужно добавить.
Сравнения и калькуляции: Рассмотрим каждую из комбинаций:
Аня и Боря против Саши: \[ \text{Масса слева} = A + B \] \[ \text{Масса справа} = C \] Разница: \[ \text{Разница} = |(A + B) - C| \] Чтобы разница стала допустимой, рассматриваем:
- Если разница ≤ D, то камень не нужен (выводим 0).
- Если разница > D, то нужна масса камня: \[ m = \text{Разница} - D \]
Аня и Саша против Бори: \[ \text{Масса слева} = A + C \] \[ \text{Масса справа} = B \] Аналогичные вычисления как выше.
Боря и Саша против Ани: \[ \text{Масса слева} = B + C \] \[ \text{Масса справа} = A \] Также аналогично рассчитываем разницу масс.
Минимальная масса камня: Сравниваем полученные нужные массы камней для каждой комбинации и выбираем минимальную. Если ни одна из комбинаций не требует массу камней, то результат 0.
Примерный алгоритм:
def min_stone_mass(A, B, C, D):
possible_combinations = [
(A + B, C),
(A + C, B),
(B + C, A)
]
min_mass = float('inf')
for left_mass, right_mass in possible_combinations:
diff = abs(left_mass - right_mass)
if diff <= D:
return 0
else:
required_mass = diff - D
min_mass = min(min_mass, required_mass)
return min_mass
# Чтение входных данных
A = int(input())
B = int(input())
C = int(input())
D = int(input())
# Вызов функции и вывод результата
result = min_stone_mass(A, B, C, D)
print(result)
Этот код определяет минимальную массу камня, необходимую для балансировки качелей, основываясь на заданных массах друзей и допустимой разнице. Пытайтесь рассаживать детей так, чтобы разница была в пределах ±D, и, если необходимо, вычислить добавочную массу.
