Các ngôn ngữ lập trình hai chiều thường có các lệnh nhân bản như /
và \
để chuyển hướng con trỏ lệnh trên lưới:
>>>>\
v
v
<<<</
Trong thử thách này, bạn được cung cấp một hướng đến và một tấm gương và bạn cần xác định hướng đi.
Quy tắc
Hướng đến sẽ được đưa ra là một trong các ký tự NESW
và gương sẽ được cung cấp dưới dạng /
hoặc \
. Bạn có thể nhận được những thứ này theo bất kỳ thứ tự nào. Bạn phải sử dụng chữ in hoa.
Bạn có thể nhập dữ liệu ở bất kỳ định dạng thuận tiện nào, bao gồm chuỗi hai ký tự, chuỗi sử dụng dấu phân cách giữa các ký tự, một cặp ký tự trong danh sách hoặc thậm chí một cặp chuỗi đơn. Nếu bạn sử dụng một chuỗi có dấu phân cách, thì dấu phân cách không thể sử dụng bất kỳ ký tự nào NWSE\/
.
Đầu ra phải là một ký tự từ NESW
hoặc chuỗi ký tự đơn.
Bạn có thể viết chương trình hoặc chức năng và sử dụng bất kỳ phương pháp tiêu chuẩn nào để nhận đầu vào và cung cấp đầu ra.
Bạn có thể sử dụng bất kỳ ngôn ngữ lập trình nào , nhưng lưu ý rằng các lỗ hổng này bị cấm theo mặc định.
Đây là môn đánh gôn , vì vậy câu trả lời hợp lệ ngắn nhất - được đo bằng byte - thắng.
Các trường hợp thử nghiệm
Chỉ có 8 đầu vào khả dĩ bạn cần xử lý, vì vậy không có lý do gì để không kiểm tra mã của bạn trên tất cả chúng:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Nếu câu trả lời của bạn là một chức năng gửi một chuỗi, thì dĩ nhiên bạn sẽ cần \\
mã nguồn để gọi nó một cách chính xác, nhưng nếu bạn đang đọc đầu vào của bạn từ đầu vào tiêu chuẩn, thì đó sẽ là một chuỗi \
. Nói cách khác, nếu bạn gọi hàm độ dài chuỗi tương ứng của ngôn ngữ của bạn trên đầu vào, kết quả sẽ luôn giống nhau, bất kể đầu vào có chứa /
hay \
.
readline()
có thể xử lý nó.