У вас є купа важких коробок і ви хочете скласти їх у найменшу кількість можливих стеків. Проблема полягає в тому, що ви не можете складати більше коробок на коробку, ніж це може підтримувати, тому важчі коробки повинні знаходитись у нижній частині стека.
Змагання
Введення : Список ваг ящиків, у цілому кг.
Вихід : Список списків, що описують стеки ящиків. Для цього потрібно використовувати найменшу кількість стеків, можливих для введення. Щоб бути дійсним стеком, вага кожного поля в стеку повинна бути більше або дорівнює сумі ваги всіх коробок над ним.
Приклади дійсних стеків
(Знизу до верхнього порядку)
- [3]
- [1, 1]
- [3, 2, 1]
- [4, 2, 1, 1]
- [27, 17, 6, 3, 1]
- [33, 32, 1]
- [999, 888, 99, 11, 1]
Приклади недійсних стеків
(Щоб знизу вгору)
- [1, 2]
- [3, 3, 3]
- [5, 5, 1]
- [999, 888, 777]
- [4, 3, 2]
- [4321, 3000, 1234, 321]
Приклади тестових випадків
1
IN: [1, 2, 3, 4, 5, 6, 9, 12]
OUT: [[12, 6, 3, 2, 1], [9, 5, 4]]
2
IN: [87, 432, 9999, 1234, 3030]
OUT: [[9999, 3030, 1234, 432, 87]]
3
IN: [1, 5, 3, 1, 4, 2, 1, 6, 1, 7, 2, 3]
OUT: [[6, 3, 2, 1], [7, 4, 2, 1], [5, 3, 1, 1]]
4
IN: [8, 5, 8, 8, 1, 2]
OUT: [[8, 8], [8, 5, 2, 1]]
Правила та припущення
- Застосовуються стандартні правила вводу / виводу та заборонені лазівки
- Використовуйте будь-який зручний формат для вводу / виводу
- Стеки можуть бути описані зверху вниз або знизу вгору, якщо ви послідовні.
- Порядок стеків (а не ящики в межах цих стеків) значення не має.
- Ви також можете приймати поля введення у вигляді списку. Порядок не особливо важливий для вхідних даних, доки загальну проблему не вирішує сам сортування.
- Якщо є кілька оптимальних конфігурацій стеків, ви можете вивести будь-який з них
- Ви можете припустити, що є хоча б одна коробка і що всі ящики важать не менше 1 кг
- Ви повинні підтримувати ваги до 9 999 кг, як мінімум.
- Ви повинні підтримувати до 9 999 коробок, як мінімум.
- Ящики з однаковою вагою не відрізняються, тому не потрібно зазначати, який ящик використовувався де.
Щасливого гольфу! Удачі!
[8, 8, 8, 5, 1]
->[[8, 8], [8, 5, 1]]
[8, 5, 8, 8, 1, 2]
->[[8, 8], [8, 5, 2, 1]]