Войти Создать аккаунт

Списки · 19 из 24

Пробка на кольцевой

Курьеры службы доставки возят заказы по кольцевой дороге вокруг района. Обгонять на ней нельзя: курьер едет со своей скоростью, пока не упрётся в того, кто впереди, и держит до него хотя бы клетку. Диспетчер видел странное: никто не ломался, а курьеры то и дело стоят. Чтобы понять, откуда берутся пробки, он делит кольцо на клетки и считает движение по шагам.

Что сделать

Сделайте один шаг движения по кольцу: каждый курьер едет вперёд со своей скоростью, но не ближе чем на клетку к тому, кто впереди.

Что приходит

  • pozicii — номера клеток, где стоят курьеры, по порядку движения: впереди каждого — следующий в списке, впереди последнего — первый

  • skorost — на сколько клеток курьер едет за шаг, если ничто не мешает

  • dlina — сколько клеток в кольце; за последней снова нулевая

Что вернуть

Новый список номеров клеток — в том же порядке курьеров.

Допишите функцию shag_kolca в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

Кольцо из 20 клеток, курьеры в клетках 0, 1, 2 и 10, скорость — 3. У первого впереди соседняя клетка занята — он стоит, второй тоже. Третьему до четвёртого восемь клеток — он едет на все три, в клетку 5. Четвёртому до первого, через конец кольца, десять — он в клетке 13. Ответ — [0, 1, 5, 13].

Тот же пример кодом
Вызов
shag_kolca([0, 1, 2, 10], 3, 20)
Вернуть
[0, 1, 5, 13]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.