91
 правка
Изменения
→Специализация алгоритма для генерации следующего разбиения на подмножества
 // a - матрица, содержащая подмножества
 // used - массив, в котором мы храним удаленные элементы
 fl = true '''for''' i = n - 1 '''downto''' 0
     '''if'''  можем добавить в конец подмножества элемент из used
         добавляем
         '''break'''
     '''for''' j = a[i].size () - 1 '''downto''' 0
         '''if''' можем заменить элемент, другим элементом из массива used 
            заменяем
            fl = true
            '''break'''
         used.add(a[i][j])   //удаляем элемент и добавляем его в массив
     '''if''' (fl) break
 //далее выведем все получившиеся подмножества
 sort(used); '''for''' i = 0 '''to''' used.size() - 1    '''println(used[i])'''        //выводим лексикографически минимальных хвост
</code>