Якщо хтось, що стоїть на півночі в точці A в цій сітці, бажає вказувати наступні зелені шляхи (так як вони можуть слідувати лише лінії сітки) до точки B, ви можете сказати їм:
Іди North, North, West, East, East, South, East, East
.
або рівнозначно
Іди Forward, Forward, Left, Back, Forward, Right, Left, Forward
.
(Якщо команда Праворуч , Ліворуч чи Назад неявно означає поворот у цьому напрямку, тоді йдіть вперед.)
Напишіть функцію з одним аргументом, який перекладає між цими абсолютними та відносними напрямками по тому самому шляху , а не лише до однієї точки. Припустимо, що спрямована людина завжди починає звернутись на північ.
Якщо аргументом є рядок літер NSEW
, поверніть еквівалентні відносні напрямки.
наприклад, f("NNWEESEE")
повертає рядок FFLBFRLF
.
Якщо аргументом є рядок літер FBLR
, поверніть еквівалентні абсолютні напрямки.
наприклад, f("FFLBFRLF")
повертає рядок NNWEESEE
.
Порожня рядок поступається собою. Не припускайте жодних інших вхідних справ.
Якщо у вашій мові немає функцій або рядків, використовуйте те, що здається найбільш підходящим.
Виграє найкоротший код у байтах .
R
дорівнює E
на початку.