Александр Симонов, сделайте этот подарок себе, рисуйте - может, ваш пример придаст ей смелости и здравомыслия. А не прокатит - так останетесь хоть с планшетом.
Сергей Соколов, хех, ответ прочитал - нифига не понял )))
Смотри, ты можешь кодировать в основном по своей схеме, но с исключениями, например, удобно кодировать 2 позиции вида 2^n-1 и 2^n+1 одним числом разрядности 2n - на этом экономится 1бит. Напр 3 и 5 по отдельности кодируется в 2+3 бита, а вместе - 4бита.
Развернуть короткое целое сможешь? )
Для каждой группы есть условия возможных сочетаний подгрупп (кол-во условий около 20. То есть подгруппы могут создаваться на основе одного или нескольких из условий, а не на сумме всех 20-ти условий)
Даже на эту чушь есть ответ, и я его дал.
Берёте случайный набор продуктов, проверяете его на ваши туманные условия, подходит - хорошо, не подходит - пробуете дальше, до достижения успеха.