ルービックキューブで移動するたびに、最初の移動を取り消す逆方向の移動があります。このため、すべてのアルゴリズム(一連の移動)には、最初のアルゴリズムを元に戻す逆アルゴリズムがあります。
この課題の目標は、特定のアルゴリズムの逆を見つけることです。
仕様:
入力は、個々の動きの配列で構成されます。各移動は長さ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
許可されていますか?