Войти Регистрация
Алгоритмы

149. Разложить заказ по коробкам одного веса

Средняя

Заказ состоит из товаров весом weights[i] граммов. Сборщик хочет разложить все товары по k коробкам так, чтобы коробки весили одинаково, — так курьеру проще нести.

Каждый товар целиком попадает в одну коробку. Верните True, если такая раскладка есть, и False иначе.

В работе: Сборка крупного заказа на складе Ozon в несколько коробок для одного курьера.

Пример 1

Ввод
weights = [400, 300, 500, 200, 100, 300]
k = 3
Вывод
True

500 + 100, 400 + 200, 300 + 300 — по 600 г.

Пример 2

Ввод
weights = [700, 300, 200]
k = 2
Вывод
False

Общий вес 1200, нужно по 600, но товар 700 г не влезает ни в одну коробку.

Ограничения

  • 1 ≤ длина weights ≤ 16
  • 1 ≤ weights[i] ≤ 10⁴
  • 1 ≤ k ≤ длина weights
  • Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def equal_boxes(weights, k):
Перебор с возвратомРазбиениеОтсеченияцельпо числу ответов

Источник: наша задача на данных Ozon. Условие пересказано своими словами.