Setiap kali Anda bergerak di Rubik's Cube, ada gerakan mundur yang membatalkan langkah pertama. Karena itu, setiap algoritma (serangkaian gerakan) memiliki algoritma terbalik yang membatalkan algoritma pertama.
Tujuan dari tantangan ini adalah untuk menemukan kebalikan dari algoritma yang diberikan.
Spesifikasi:
Input terdiri dari berbagai gerakan individu. Setiap gerakan adalah string dengan panjang 1 atau 2. Tentu saja, Anda dapat menggunakan format input apa pun yang paling masuk akal dalam bahasa Anda. Setiap gerakan terdiri dari struktur Xatau X'atau X2, di mana Xhuruf besar atau kecil.
Untuk membalikkan X, cukup ganti dengan X'. Demikian juga, X'menjadi X. X2di sisi lain tidak berubah.
Untuk membuat output, membalikkan setiap gerakan, lalu membalikkan array.
Contoh (string dipisahkan oleh spasi):
R => R'
D U' => U D'
S T A C K => K' C' A' T' S'
A2 B2 => B2 A2
Mencetak:
Ini adalah kode-golf, sehingga jumlah byte terkecil yang menang. Tidak ada celah standar.
X3atau X1akan menjadi tambahan yang bagus untuk tantangan.
D2R2sebagai kasus uji ...
R2->R2'atauB->B3diizinkan?