Bir Rubik Küpü üzerinde bir hamle yaptığınızda, ilk hamleyi geri alan bir ters hamle olur. Bu nedenle, her algoritmanın (hamle kümesi) ilk algoritmayı geri alan bir ters algoritması vardır.
Bu zorluğun amacı belirli bir algoritmanın tersini bulmaktır.
Şartname:
Giriş, ayrı ayrı hareketlerden oluşur. Her hareket 1 veya 2 uzunluğunda bir dizedir. Tabii ki, dilinizde en mantıklı olan giriş biçimini kullanabilirsiniz. Her hareket yapısı oluşur X
ya da X'
ya da X2
, X
bir büyük veya küçük harf.
Tersine çevirmek X
için ile değiştirin X'
. Aynı şekilde X'
olur X
. X2
diğer yandan değişmez.
Çıktı oluşturmak için, her hareketi tersine çevirin ve ardından diziyi ters çevirin.
Örnekler (boşluklarla ayrılmış dizeler):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
puanlama:
Bu kod golf, bu yüzden en az bayt miktarı kazanır. Standart boşluklara izin verilmez.
X3
ya X1
da meydan okuma için güzel bir ek olurdu.
D2R2
Bir test vakası olarak olmalıydı ...
R2
> -R2'
yaB
->B3
izin?