Если мне не изменяет склероз, это классическая оптимизационная задача "плотнейшей упаковки" или "задача об укладке рюкзака".
Погугли - алгоритмы описаны.
Со схемой данных дальше сам сообразишь. :-)
--
Александр Замараев

Ответить