Отсортируйте случайный список целых чисел, используя наименьшее количество ходов, 2 стека и ограниченный набор операций.
Вы начинаете с двух пустых стопок: "a" и "b". Вам предоставляется случайный список целых чисел через аргументы командной строки.
sa: swap a - поменять местами первые 2 элемента на вершине стека "a". Ничего не делать, если есть только один элемент или его нет.
sb: swap b - поменять местами первые 2 элемента наверху стека "b". Ничего не делать, если есть только один элемент или его нет.
ss: sa и sb одновременно.
pa: push a - возьмите первый элемент вверху "b" и поместите его вверху "a". Ничего не делать, если "b" пусто.
pb: push b - возьмите первый элемент вверху "a" и поместите его вверху "b". Ничего не делать, если "a" пусто.
ra: rotate a - сдвинуть вверх все элементы стека "a" на 1. Первый элемент становится последним.
rb: rotate b - сдвинуть вверх все элементы стека "b" на 1. Первый элемент становится последним.
rr: ra и rb одновременно.
rra: reverse rotate a - сдвинуть вниз все элементы стека "a" на 1. Последний элемент становится первым.
rrb: reverse rotate b - сдвинуть вниз все элементы стека "b" на 1. Последний элемент становится первым.
rrr: rra и rrb одновременно.
В конце стек "b" должен быть пустым, а все целые числа должны находиться в стеке "a", отсортированном в порядке возрастания.
100 элементов: 580 операций
500 элементов: 5050 операций
