130
правок
Изменения
→Псевдокод
print(); <font color=darkgreen>// печатаем текущую перестановку</font color=darkgreen>
id = -1; <font color=darkgreen>// индекс наибольшего подвижного элемента </font color=darkgreen>
'''for''' i = (1 .. n){
'''if''' (p[i] - подвижный) '''and''' ((id = -1) '''or''' (p[i] > p[id]))
id = i
}
'''if''' (id = -1) '''break''' <font color=darkgreen>// не нашли подвижного элемента</font color=darkgreen>
'''for''' i = (1 .. n){ '''if''' (p[i] > p[id]) reverse(d[i]) <font color=darkgreen>// меняем направление стрелки</font color=darkgreen> } swap(id) <font color=darkgreen>//меняем элемент p[id], d[id] c элементом по направлению стелки</font color=darkgreen>
}
</code>