Для решения задачи давайте рассмотрим, как движется верхний левый угол губки при очистке доски, а также каковы размеры доски и губки.
При заданных значениях:
- n — длина стороны доски.
- a — длина стороны губки (гарантируется, что n делится на a без остатка).
Сначала определим, сколько раз губка будет двигаться вдоль каждой стороны квадрата:
- Количество "блоков" губки по одной стороне доски: \( m = \frac{n}{a} \).
- Каждый блок губки имеет размеры a × a и при его движении угол губки будет двигаться по периметру квадрата и наоборот.
Траектория движения верхнего левого угла губки можно описать следующим образом:
- Сначала угол движется вправо на (m - 1) раз, затем опускается вниз на (m - 1), затем движется влево на (m - 1), снова поднимается на (m - 1).
- Это движение продолжается, пока губка не очистит всю поверхность доски.
Теперь давайте посчитаем длину ломаной линии, описываемую верхним левым углом губки:
- При каждом смещении вправо, вниз, влево и вверх он перемещается на a.
- Общее количество ходов, пока будет очищена доска, составит:
- \( 2 \times (m - 1) \) горизонтальных перемещений + \( 2 \times (m - 1) \) вертикальных перемещений.
- Количество раз, когда губка спускается или поднимается вниз, равно (m - 1).
Таким образом, формула длины ломаной линии будет следующей:
\[ L = (m - 1) \times (a + a) \times 2 = 4 \times (m - 1) \times a \]
Теперь подставим: \[ m = \frac{n}{a} \] \[ L = 4 \times \left(\frac{n}{a} - 1\right) \times a \]
Это упрощается до: \[ L = 4 \times (n - a) \]
Таким образом, финальная формула для длины ломаной линии, описываемой углом губки, будет:
\[ L = 4 \times (n - a) \]
Теперь, давайте напишем алгоритм для вычисления необходимого значения.
Пример кода на Python
n = int(input())
a = int(input())
length_of_path = 4 * (n - a)
print(length_of_path)
Этот код считывает два числа, вычисляет длину ломаной линии и выводит результат.