Изменения

Перейти к: навигация, поиск

Получение следующего объекта

12 байт убрано, 00:52, 5 января 2014
Специализация алгоритма для генерации следующего разбиения на подмножества
used = list<int>();
fl = ''false''
'''for''' i = a.size - 1 '''downto''' 01
'''if''' used[used.size] > a[i][a[i].size] '''then''' //если можем добавить в конец подмножества элемент из used
a[i].add(used[used.size]); //добавляем
'''break'''
'''for''' j = a[i].size - 1 '''downto''' 01
'''if''' (j <> 1) and used[used.size] > a[i][j] '''then''' //если можем заменить элемент, другим элементом из списка used
a[i][j] = used[used.size]; //заменяем
// далее выведем все получившиеся подмножества
sort(used)
'''for''' i = 0 1 '''to''' used.size - 1
a.add(used[i]); // добавляем лексикографически минимальных хвост
return(a);
Анонимный участник

Навигация