1437 - Esquerda, Volver!
Mais um problema para testar sua criatividade usando operações matemáticas.
Last updated
Was this helpful?
Mais um problema para testar sua criatividade usando operações matemáticas.
Last updated
Was this helpful?
Algo que pode nos ajudar muito a calcular a direção resultante do recruta é mapear cada direção a um número específico. A tabela abaixo mostra o mapeamento que vamos usar, mas você pode usar qualquer um, desde que facilite seu cálculo com os comandos E
e D
:
Direção
Número
Norte (N)
0
Leste (L)
1
Sul (S)
2
Oeste (O)
3
Desta maneira, cada comando equivale a uma operação no número da direção.
Comando D
: (numero + 1) % 4
Comando E
: ((numero - 1) + 4) % 4
Direção antes do comando
Número antes do comando
Comando
Número após o comando
Direção após o comando
Norte (N)
0
D
(0 + 1) % 4 = 1
Leste (L)
Norte (N)
0
E
((0 - 1) + 4) % 4 = 3
Oeste (O)
Leste (L)
1
D
(1 + 1) % 4 = 2
Sul (S)
Leste (L)
1
E
((1 - 1) + 4) % 4 = 0
Norte (N)
Sul (S)
2
D
(2 + 1) % 4 = 3
Oeste (O)
Sul (S)
2
E
((2 - 1) + 4) % 4 = 1
Leste (L)
Oeste (O)
3
D
(3 + 1) % 4 = 0
Norte (N)
Oeste (O)
3
E
((3 - 1) + 4) % 4 = 2
Sul (S)
A cada comando, simular a posição que o recruta fica após o mesmo. Por exemplo, se o recruta está virado ao norte e recebe o comando E
, o recruta agora está virado para o oeste. Ao final, ver em qual posição ele ficou depois de todos os comandos.
Dê uma olhada na página para entender porque os comandos D
e E
funcionam. A tabela abaixo mostra o resultado para cada direção após as operações para ter uma prova real de que sempre dá o resultado apropriado.