Ôi không, tôi đang lạc lối trên con đường tìm kiếm kho báu vĩ đại của Marakov! Và tất cả những gì tôi có là những hướng dẫn vô dụng này trông giống như S10R10D30... tôi không biết ý nghĩa của chúng! Bạn có thể giúp tôi được không?
Thử thách
Đưa ra các hướng bao gồm N E S W U D L R 1 2 3 4 5 6 7 8 9 0, đầu ra tôi sẽ đi được bao xa từ nơi tôi bắt đầu khi tôi đi theo các hướng đó (tức là Khoảng cách Euclide).
N E S W đề cập đến tôi quay về hướng Bắc, Đông, Nam và Tây;
U D L Rđề cập đến tôi lần lượt lên, xuống, trái và phải ( NRCũng giống như vậy E, và cũng vậy SL; SLLgiống như N). Lên có nghĩa là tiếp tục tiến lên; Xuống có nghĩa là quay lại.
Sau mỗi hướng chữ cái sẽ là một con số, đó là khoảng cách tôi sẽ đi theo hướng đó. N10E20nghĩa là đi về phía Bắc 10 đơn vị, rồi quay về hướng Đông, và đi về phía Đông 20 đơn vị.
Chi tiết đầu vào
- Đầu vào sẽ luôn bắt đầu bằng một trong
NESW(vì vậy không cần tính đến đầu vào trống). - Hai hướng dẫn thư liên tiếp được cho phép.
NEnên được giải thích, "Quay về hướng Bắc, rồi lập tức quay về hướng Đông". Nó giống như chỉE.SLLlà "Rẽ về phía Nam, sau đó lập tức rẽ trái hai lần". Nó giống nhưN. - Tất cả các số sẽ là số nguyên (lưu ý cách
.không có trong bộ ký tự) - Đầu vào sẽ chỉ bao gồm
NESWUDLR1234567890(Nếu nó cần thứ gì khác, như '\ 0' trong C; hoặc nếu các chức năng nhập ngôn ngữ của bạn có dòng mới, hoặc một cái gì đó, thì tốt.)
Đầu ra
- Các chỉ tiêu.
- Nếu sử dụng hàm, nên xuất kiểu dữ liệu số hoặc chuỗi.
- Phải chính xác đến 3 chữ số thập phân.
Các trường hợp thử nghiệm
N10:10N10E10:14.1421N10S10:0NSEWUDLR10:10N100RR20E300D40L12:268.7452ERR10LL20UN30D100:70.71067
Chương trình Python không tưởng tượng mà tôi đã sử dụng để thực hiện những điều này.
Chiến thắng
Đây là codegolf, vì vậy byte thấp nhất sau một tuần sẽ thắng!
NESWUDLR1234567890?