Ctrl K

Меньше всего пешком до самокатов

Средняя
На клетчатой площадке стоят курьеры и электросамокаты: курьер i — в точке couriers[i] = [x, y], самокат j — в точке scooters[j] = [x, y]. Самокатов не меньше, чем курьеров. Каждому курьеру нужно выдать свой самокат (один самокат — одному курьеру). Курьер идёт до самоката по манхэттенскому расстоянию |x1 - x2| + |y1 - y2|. Верните наименьшую возможную сумму расстояний, которые пройдут все курьеры.
Пример 1
couriers=[[0, 0], [5, 5]], scooters=[[4, 4], [1, 1], [9, 0]] → 4

Курьер 0 берёт самокат 1 (идти 2), курьер 1 — самокат 0 (идти 2). Итого 4; самокат 2 никому не нужен.

Пример 2
couriers=[[0, 0], [2, 0]], scooters=[[1, 0], [6, 0]] → 5

Либо курьер 0 берёт самокат 0, а курьер 1 — самокат 1 (1 + 4 = 5), либо наоборот (6 + 1 = 7). Ответ 5.

Пример 3
couriers=[[3, 3]], scooters=[[3, 3]] → 0

Самокат стоит ровно там же, где курьер: идти не нужно.

Ограничения
  • 1 ≤ len(couriers) ≤ len(scooters) ≤ 11
  • Каждая точка — пара [x, y], 0 ≤ x, y < 1000
  • Все курьеры стоят в разных точках, все самокаты — тоже
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКвадратная рамка из палочек СредняяРассадка с делимостью СредняяСамая дешёвая корзина с наборами СредняяГруппы с равными суммами СредняяСтажёры и тренеры Средняя
загружаем Python…
Вход
couriers=[[0, 0], [5, 5]], scooters=[[4, 4], [1, 1], [9, 0]]
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 89 тестов на сервере, включая скрытые.