Изменения
→Специализация алгоритма для генерации следующего разбиения на подмножества
fl = ''false''
'''for''' i = a.size '''downto''' 1
'''if''' (used.size <> 0) and (used[used.size] > a[i][a[i].size]) '''then''' <font color=green>//если можем добавить в конец подмножества элемент из <tex>used</tex></font> a[i].add(used[used.size]); <font color=green>//добавляем</font>
used.remove(used.size);
'''break'''
'''for''' j = a[i].size '''downto''' 1
'''if''' (used.size <> 0) and (j <> 1) and (used[used.size] > a[i][j]) '''then''' <font color=green>//если можем заменить элемент, другим элементом из списка <tex>used </tex> </font> a[i][j] = used[used.size]; <font color=green>//заменяем</font>
fl = ''true''
'''break'''