- Дано число (конечная точка финиша), затем массив самокатов, где самокаты представляют положение i-го самоката.
- Каждый самокат может проехать до 10 пунктов, прежде чем аккумулятор полностью разрядится, и не сможет ехать дальше. Например, если самокат находится в точке 5, он может проехать до точки 5, 6, 7, ..., ., до точки 15 (включительно), но не до точки 16 или дальше.
- Рассчитать шаги, чтобы достичь цели.
Код: Выделить всё
finish=23, scooters[7, 4, 14]
output -> solution(finish, scooters) = 4
- Начиная с 0, ближайший самокат — это самокаты[1] = 4, поэтому для того, чтобы дойти до него, нужно 4 очка.
- Тогда самокат может подняться до 10 очков, 10+4 = 14.
- В 14 точках стоит самокат (скутеры[2] = 14).
- Таким образом, мы можем пройти прямо до конца и выполнить 23.
- Итак, всего 4 точки ходьбы.
Код: Выделить всё
finish=27, scooters[15, 7, 3, 10]
output -> solution(finish, scooters) = 5
Код: Выделить всё
finish=23
scooters = [7, 4, 14]
def solution(finish, scooters):
sum = min(scooters)
step = min(scooters)
while sum < finish:
step += 10
sum = sum + step
return step
solution(finish, scooters)
Подробнее здесь: https://stackoverflow.com/questions/738 ... ach-target