Двумерные языки программирования часто имеют зеркальные команды, такие как /
и \
для перенаправления указателя команд на сетке:
>>>>\
v
v
<<<</
В этом задании вы получаете входящее направление и зеркало, и вам необходимо определить исходящее направление.
правила
Входящее направление будет дано в качестве одного из персонажей NESW
и зеркало будет дано либо как /
или \
. Вы можете получить их в любом порядке. Вы должны использовать заглавные буквы.
Вы можете вводить данные в любом удобном формате, включая двухсимвольную строку, строку с использованием некоторого разделителя между символами, пару символов в списке или даже пару одиночных строк. Если вы используете строку с разделителем, разделитель не может использовать ни один из символов NWSE\/
.
Вывод должен быть символом NESW
или односимвольной строкой.
Вы можете написать программу или функцию и использовать любой из наших стандартных методов получения ввода и предоставления вывода.
Вы можете использовать любой язык программирования , но учтите, что эти лазейки по умолчанию запрещены.
Это код-гольф , поэтому самый короткий действительный ответ - измеренный в байтах - выигрывает.
Тестовые случаи
Есть только 8 возможных входов, которые вам нужно обработать, поэтому нет оправдания тому, чтобы не проверять ваш код на всех из них:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Если ваш ответ представляет собой отправку функции, которая принимает строку, то, конечно, вам потребуется \\
исходный код для ее правильного вызова, но если вы читаете свой ввод, например, из стандартного ввода, то он должен быть единичным \
. Другими словами, если вы вызываете соответствующую функцию длины строки вашего языка на входе, результат всегда должен быть одинаковым, независимо от того, содержит ли вход /
или \
.
readline()
может справиться с этим.