Всякий раз, когда вы делаете ход на кубике Рубика, есть обратный ход, который отменяет первый ход. Из-за этого каждый алгоритм (набор ходов) имеет обратный алгоритм, который отменяет первый алгоритм.
Цель этой задачи - найти обратную сторону заданного алгоритма.
Спецификация:
Вход состоит из массива отдельных ходов. Каждый шаг представляет собой строку длиной 1 или 2. Конечно, вы можете использовать любой формат ввода, наиболее подходящий для вашего языка. Каждый ход состоит из структуры Xили X'или X2, где Xесть заглавные или строчные буквы.
Чтобы полностью изменить X, просто замените это X'. Аналогично X'становится X. X2с другой стороны не меняется.
Чтобы создать вывод, поменяйте местами каждое движение, а затем обратный массив.
Примеры (строки, разделенные пробелами):
R => R'
D U' => U D'
S T A C K => K' C' A' T' S'
A2 B2 => B2 A2
Подсчет очков:
Это код-гольф, поэтому выигрывает наименьшее количество байтов. Стандартные лазейки не допускаются.
X3или X1была бы хорошим дополнением к вызову.
D2R2в качестве контрольного примера ...
R2->R2'илиB->B3разрешено?