Ctrl K

Самая высокая башня из ящиков

Сложная
Есть n ящиков-параллелепипедов, crates[i] = [a, b, c] — размеры i-го ящика. Ящик можно повернуть как угодно, то есть любую тройку его размеров назначить шириной, длиной и высотой. Выберите несколько ящиков и поставьте их друг на друга в башню. Ящик можно поставить на другой, только если после поворотов каждый из трёх его размеров — ширина, длина и высота — не больше соответствующего размера нижнего ящика. Верните наибольшую возможную высоту башни.
Пример 1
crates=[[2, 3, 4], [1, 1, 5], [6, 2, 3]] → 11

Внизу ящик [6, 2, 3], поставленный на грань 2 × 3, — его высота 6. Сверху ящик [1, 1, 5] на грани 1 × 1, высота 5. Всего 11.

Пример 2
crates=[[3, 3, 3], [3, 3, 3]] → 6

Одинаковые ящики можно ставить друг на друга: 3 + 3 = 6.

Ограничения
  • 1 ≤ len(crates) ≤ 100
  • len(crates[i]) = 3
  • 1 ≤ crates[i][j] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКоробка в коробке СложнаяСтрогий подъём из запасных чисел СложнаяСамый выгодный набор подработок СложнаяСамый длинный спуск прыжками СложнаяНаибольшее число, кратное трём Сложная
загружаем Python…
Вход
crates=[[2, 3, 4], [1, 1, 5], [6, 2, 3]]
Ожидается
11

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