Изменения

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

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

36 байт добавлено, 19:20, 27 ноября 2014
Специализация алгоритма для генерации следующего разбиения на подмножества
used = '''list<int>'''
fl = ''false''
'''for''' i = a.size - 1 '''downto''' 10 '''if''' (used.size != 0) '''and''' (used[used.size- 1] > a[i][a[i].size- 1]) <font color=green>// если можем добавить в конец подмножества элемент из <tex>used</tex></font> a[i].add(used[used.size- 1]) <font color=green>//добавляем</font> used.remove(used.size- 1)
'''break'''
'''for''' j = a[i].size - 1 '''downto''' 10 '''if''' (used.size != 0) '''and''' (j != 10) '''and''' (used[used.size- 1] > a[i][j]) <font color=green>//если можем заменить элемент, другим элементом из списка <tex>used</tex> </font> a[i][j] = used[used.size- 1] <font color=green>//заменяем</font>
fl = ''true''
'''break'''
<font color=green>//далее выведем все получившиеся подмножества</font>
sort(used)
'''for''' i = 1 0 '''to''' used.size- 1
a.add('''list<int>'''(used[i])) <font color=green>//добавляем лексикографически минимальных хвост</font>
'''return''' a
Анонимный участник

Навигация