Двовимірні мови програмування часто мають дзеркальні команди, як /
і \
перенаправляти вказівник інструкцій на сітці:
>>>>\
v
v
<<<</
У цьому виклику вам надається напрямок, що надходить, і дзеркало, і вам потрібно визначити вихідний напрямок.
Правила
Вхідний напрямок буде задано як один із символів, NESW
а дзеркало - як /
або \
. Ви можете отримати їх у будь-якому порядку. Ви повинні використовувати великі літери.
Ви можете приймати дані в будь-якому зручному форматі, включаючи дво символьну рядок, рядок, використовуючи деякий роздільник між символами, пару символів у списку або навіть пару однорядних рядків. Якщо ви використовуєте рядок з роздільником, то роздільник не може використовувати жоден із символів NWSE\/
.
Вихід повинен бути символом з NESW
або односимвольного рядка.
Ви можете написати програму чи функцію та скористатися будь-яким із наших стандартних методів отримання вводу та надання виводу.
Ви можете використовувати будь-яку мову програмування , але зауважте, що ці лазівки за замовчуванням заборонені.
Це код-гольф , тому найкоротший вірний відповідь - вимірюється в байтах - виграє.
Випробування
Існує лише 8 можливих входів, з якими потрібно обробити, тому немає виправдання, щоб не перевірити свій код на всіх:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Якщо ваша відповідь - це функція, яка займає рядок, то, звичайно, вам знадобиться \\
у вихідному коді, щоб правильно її зателефонувати, але якщо ви, наприклад, читаєте свої дані зі стандартного введення, тоді це повинно бути одиничним \
. Іншими словами, якщо ви називаєте відповідну функцію довжини рядків на мові на вході, результат повинен бути завжди однаковим, незалежно від того, містить він /
чи \
.
readline()
може це впоратися.