Дан набор C с n элементами (разрешены дубликаты) и раздел P из n
P = {i1, i2, ... / i1 + i2 + ... = n}
сколько существует различных разложений C на подмножества размера i1, i2, ...?
Пример:
C = {2 2 2 3}
P = {2 2}
C = {2 2} U {2 3}
P = {1 1 2}
C = {2} U {2} U {2 3}
C = {2} U {3} U {2 2}
P = {1 3}
C = {2} U {2 2 3}
C = {3} U {2 2 2}
У меня есть решение, но оно неэффективно, когда C имеет более десятка элементов.
Заранее спасибо
Philippe