Tuyên bố miễn trừ trách nhiệm: Câu chuyện được kể trong câu hỏi này hoàn toàn hư cấu và được phát minh chỉ nhằm mục đích cung cấp phần giới thiệu.
Ông chủ của tôi đã nhận được một robot đồ chơi mới, và ông ấy muốn tôi giúp lập trình nó. Anh ta muốn có thể nhập các hướng dẫn mũi tên đơn giản để làm cho nó di chuyển. Các hướng dẫn này là: ^ (để di chuyển về phía trước) <(cho rẽ trái) và> (cho rẽ phải). Tuy nhiên, bây giờ tôi đã lập trình robot, anh ta muốn có thêm chức năng. Anh ta muốn tôi biến đổi bất kỳ chuỗi mũi tên nào mà anh ta nhập vào, thay vì để robot đi theo chỉ dẫn, nó di chuyển đến vị trí mong muốn, được chỉ định bởi nơi nó sẽ kết thúc nếu nó đi theo đường đi vào, một cách hiệu quả như khả thi. Tôi kêu gọi bạn, các thành viên của PP & CG, giúp tôi thực hiện nhiệm vụ này.
Nhiệm vụ của bạn:
Viết chương trình hoặc hàm để chuyển đổi một chuỗi được tạo thành từ các mũi tên thành một chuỗi sẽ đến vị trí được chỉ định bởi đầu vào càng nhanh càng tốt. Quay mất chính xác miễn là di chuyển lùi hoặc tiến.
Đầu vào:
Một chuỗi các mũi tên, như được chỉ ra ở trên. Nếu bạn muốn, các ký tự khác nhau có thể được thay thế cho các mũi tên, nhưng hãy chắc chắn bao gồm thực tế là bạn làm như vậy trong câu trả lời của bạn. Tất cả các trường hợp thử nghiệm sử dụng các mũi tên bình thường.
Đầu ra:
Một chuỗi các mũi tên (hoặc các ký tự tương đương của bạn), đưa robot đến đích mong muốn một cách hiệu quả nhất có thể.
Các trường hợp thử nghiệm:
Lưu ý rằng các giải pháp được cung cấp chỉ là các khả năng và các giải pháp khác có thể hợp lệ.
>^<<^^>^^ -> ^^<^
^^^^>^^^^ -> ^^^^>^^^^
>>>^^^^^^ -> <^^^^^^
>^>^>^>^ -> (empty string)
^<^^<^^<^^^^ -> >^^>^
Ghi điểm:
Bộ nhớ của robot bị giới hạn, vì vậy chương trình của bạn phải có số byte thấp nhất có thể.
^<^^<^^<^^^^
-> >^^>^
?