Estou tentando escrever um algoritmo de Markov normal em um emulador para trocar dois números ternários separados pelo símbolo "^". Por exemplo, para a entrada "120^210", o resultado deve ser "210^120".
Eu tentei estas regras:
^0 -> 0@^
^1 -> 1@^
^2 -> 2@^
@^0 -> 0@^
@^1 -> 1@^
@^2 -> 2@^
@^ -> ^
^->@
@0 -> ^0
@1 -> ^1
@2 -> ^2
@ -> ^
Mas não funcionou corretamente; só recebo "120210^".