• Игра состоит из 2 стопок с именами a и b.
• Начать с:
-
стек a содержит случайное количество отрицательных и/или положительных чисел который не может быть продублирован. ◦ b пусто
-
Цель состоит в том, чтобы отсортировать числа в порядке возрастания в стеке a.
-
Для этого в вашем распоряжении следующие операции:
###Запуск чекера
$>chmod 777 ./checker_Mac
$>./checker 3 2 1 0
rra
pb
sa
rra
pa
press "ctrl + d"
OK$>./checker 3 2 1 0
sa
rra
pb
KO$>./checker 3 2 one 0
Error
$>./checker "" 1
Error
$>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. Последний элемент становится первым. 7 Push_swap Потому что Swap_push не такой естественныйrrb : reverse rotate b— сдвинуть вниз все элементы стека b на 1. Последний элемент становится первым.ррр : рра и ррбодновременно
$ ARG=`ruby -e "puts (-540 .. 539).to_a.shuffle.join(' ')"`
$ ./push_swap $ARG | ./checker_Mac $ARGСвязанные списки Cмотреть ▶