An algorithm for sorting data on a "stack" with a specific set of instructions.
Алгоритм сортировки данных на "стеке" с определённым набором инструкций. Стек: C, Make.
Отсортировать "стек A" целых чисел по возрастанию, используя второй "стек B" и заданные команды.
- На вход поступает последовательность целых чисел, числа не повторяются. Задача - отсортировать их по возрастанию.
- Изменять положение элементов в списке можно используя следующие команды:
- sa, sb: (swap) Поменять местами два верхних элемента стека (соотвтетственно для стека A и B);
- ra, rb: (rotate) Переместить верхний элемент стека в конец данного стека;
- rr: ra и rb одновременно;
- rra, rrb: (reverse rotate) Переместить нижний элемент стека в начало данного стека;
- rrr: rra и rrb одновременно;
- pa, pb: (push) Переместить верхний элемент одного стека в начало другого;
- Вывод программы представляет собой список команд.
- Задача - написать чекер - программу, проверяющую список команд для последовательности целых чисел, действительно ли данная комбинация команд отсортирует стек.
- Команды поступают в стандартный ввод, после запуска программы с последовательностью чисел. Концом команд используется EOF.