Щоразу, коли ви робите рух по кубі Рубіка, відбувається зворотний хід, який скасовує перший хід. Через це кожен алгоритм (набір рухів) має зворотний алгоритм, який скасовує перший алгоритм.
Мета цього завдання - знайти зворотний бік заданого алгоритму.
Специфікація:
Вхід складається з масиву окремих рухів. Кожен хід - це рядок довжиною 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?