Se alguém de frente para o norte no ponto A nesta grade quiser que as direções sigam o caminho verde (como elas só podem seguir linhas de grade) até o ponto B, você pode dizer a elas:
Vá North, North, West, East, East, South, East, East
.
ou equivalente
Vá Forward, Forward, Left, Back, Forward, Right, Left, Forward
.
(Onde um comando de Direita , Esquerda ou Voltar implicitamente significa virar nessa direção e depois avançar).
Escreva uma função com um argumento que traduza entre essas direções absolutas e relativas no mesmo caminho , não apenas no mesmo ponto. Suponha que a pessoa direcionada sempre comece voltada para o norte.
Se o argumento for uma sequência de letras NSEW
, retorne as direções relativas equivalentes.
por exemplo, f("NNWEESEE")
retorna a string FFLBFRLF
.
Se o argumento for uma sequência de letras FBLR
, retorne as direções absolutas equivalentes.
por exemplo, f("FFLBFRLF")
retorna a string NNWEESEE
.
A cadeia vazia produz-se. Suponha que não haja outros casos de entrada.
Se seu idioma não possui funções ou seqüências de caracteres, use o que parecer mais apropriado.
O código mais curto em bytes vence.
R
é igual E
no início.