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

Алгоритмы и структуры данных · 17 из 20

Зоны стоянок

Галина Петровна делит город на зоны: заказ из квартала получает ближайшая стоянка такси. Город — сетка кварталов, машины ездят только вдоль улиц, поэтому расстояние — сумма шагов по вертикали и горизонтали. Где две стоянки одинаково близко — там граница зон, и такой заказ диспетчер решает сама. Стоянок в большом городе больше тысячи, кварталов — сотни тысяч, и карту она хочет видеть сразу.

Что сделать

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

Что приходит

  • stoyanki — список стоянок: кортежи (строка, столбец) внутри города, все разные

  • vysota и shirina — размер города в кварталах

Что вернуть

Список рядов; в клетке — номер ближайшей стоянки в списке (с нуля), а если ближайших несколько — −1.

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

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

Пример

Город в один ряд из трёх кварталов, стоянки в (0, 0) и (0, 2). Средний квартал от обеих в одном шаге — ничья: [[0, -1, 1]].

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

Обсуждение

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

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