У вас есть куча тяжелых коробок, и вы хотите сложить их в наименьшее количество стеков. Проблема заключается в том, что вы не можете сложить больше блоков на блок, чем он может поддерживать, поэтому более тяжелые блоки должны располагаться в нижней части стека.
Соревнование
Вход : список весов коробок, в кг.
Вывод : список списков, описывающих стеки ящиков. Это должно использовать наименьшее количество стеков, возможных для ввода. Чтобы быть действительным стеком, вес каждого ящика в стеке должен быть больше или равен сумме веса всех ящиков над ним.
Примеры допустимых стеков
(В порядке снизу вверх)
- [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 кг.
- Вы должны поддерживать вес до 9999 кг, как минимум.
- Вы должны поддерживать как минимум 9999 ящиков.
- Ящики с одинаковым весом неразличимы, поэтому нет необходимости указывать, какой ящик и где использовался.
Удачного игры в гольф! Удачи!
[8, 8, 8, 5, 1]
->[[8, 8], [8, 5, 1]]
[8, 5, 8, 8, 1, 2]
->[[8, 8], [8, 5, 2, 1]]