Давайте внимательно разобрем задачу пошагово:
Понимание задачи:
- Есть кольцевой маршрут автобуса с N остановками. После N остановок автобус возвращается в начальную точку.
- Петя садится на автобус у дома (это одна из остановок маршрута, обозначим её тоже как "дом").
- Он заснул и проснулся через X остановок.
- Решил остаться в автобусе и доехать до своей остановки (опять же, той самой, где он садился).
- Нам нужно определить минимальное число остановок, которое ему придётся проехать, чтобы вернуться к своей остановке.
Общее понимание:
- В кольцевом маршруте, если идти по маршруту, то после N остановок мы возвращаемся в начальную точку.
- Петя проснулся через X остановок после своего садикового места.
Рассмотрим два возможных варианта, чтобы понять, через какое минимальное число остановок он сможет добраться до своей остановки, не делая лишних кругов.
Формула и рассуждение:
Обозначим:
- \( N \) — число остановок в круге.
- \( X \) — сколько остановок прошло, пока Петя проснулся.
Петя может оказаться в двух местах:
- Если он проснулся раньше своей остановки (то есть за X остановок от её места).
- Или, если он проснулся после своей остановки (за X остановок, но уже прошёл её, и ему пришлось пройти дополнительный круг).
Чтобы понять, где он оказался, посмотрим по модулю:
- Его текущая остановка после пробуждения — это \( (S + X) \mod N \), где \( S \) — его начальная остановка (у дома).
Так как \( S \) — его начальная остановка, то чтобы найти его финальную позицию, нужно рассмотреть \( (S + X) \mod N \).
Но, поскольку стартовая точка у дома, то ее позицию можно считать нулем для простоты: тогда \( S = 0 \), и его позиция — это \( X \mod N \).
Варианты:
Если \( X \equiv 0 \mod N \):
Петя после пробуждения находится у своей начальной остановки, то есть у дома. Тогда минимальное количество остановок — 0, потому что он уже на своей остановке.Если \( X \not\equiv 0 \mod N \):
Он находится на другой остановке, и чтобы добраться до своей остановки, ему нужно проехать:\[ \text{минимальное} \quad \min(X \mod N, N - (X \mod N)) \]
— то есть минимальное расстояние по круговому маршруту, чтобы вернуться к остановке дома.
Итоговая формула:
\[ \boxed{ \text{Минимальное количество остановок} = \min\left( X \mod N,\ N - (X \mod N) \right) } \]
Проверка на примерах:
Пример 1:
N = 9, X = 21
- \( 21 \mod 9 = 3 \)
- \( 9 - 3 = 6 \)
- Минимальное — 3, значит Петя должен проехать 3 остановки, чтобы вернуться к дому.
Пример 2:
N = 9, X = 18
- \( 18 \mod 9 = 0 \)
- Значит, он уже на своей остановке, минимальное — 0.
Итоговые ответы:
Для входных данных:
9 21Ответ: 3
Для входных данных:
9 18Ответ: 0
Если есть ещё вопросы или нужно объяснение более подробно — скажите!