Thử thách
Bạn đã đưa một bản đồ cho một người bạn trông giống như thế này:
|
/
|
/
|
\
|
\
D
Một bản đồ đơn giản bắt đầu ở phía trên và kết thúc ở phía dưới. Đáng buồn thay, bạn của bạn không nhận được nó. Bạn có thể giải mã bản đồ để anh ta có thể đọc nó?
Đầu vào
Đầu vào là một chuỗi ký tự bao gồm |, /, \, D, ^, Y, (không gian) , và dòng mới.
|nói để ở trong cùng một cột.\nói để di chuyển đến cột bên phải và xuống 1./nói để di chuyển đến cột bên trái và xuống 1.Dđánh dấu đích đến.^(nếu có) nói về sự phân chia trong đường dẫn.Y(nếu có) kể về sự nối lại của các đường dẫn. Hãy đối xử với nó như một|.
Đầu vào sẽ được sắp xếp sao cho nó tạo ra một loại đường dẫn:
|
|
\
|
^
/ \
/ |
D |
Sẽ luôn có một khoảng trống giữa hai đường dẫn và tất cả các đường dẫn sẽ nối lại hoặc đến dòng cuối cùng của đầu vào. Sẽ chỉ có một phần chia cho mỗi bản đồ. Không có giới hạn về độ dài của bản đồ đầu vào. Sẽ không bao giờ có nhiều hơn hai con đường.
Đầu ra
Đầu ra phải là một chuỗi các hướng.
- " L " nên nói với bạn của bạn để di chuyển L eft và tiến lên 1 bước.
- " R " sẽ nói với bạn của bạn để di chuyển R ight và tiến lên 1 bước.
- " F " sẽ nói với bạn của bạn để tiến lên 1 bước.
Đối với bản đồ ví dụ đầu vào, đầu ra sẽ như sau:
F F L F R R R
Lưu ý rằng bạn của bạn đang bắt đầu ở trên cùng của bản đồ và hướng xuống bản đồ. Đưa ra các hướng từ quan điểm của mình. Đối với trường hợp "^", chương trình của bạn phải có thể chọn đường dẫn đến đích (D). Nếu hai đường dẫn kết hợp lại, chương trình của bạn phải chọn đường dẫn thẳng nhất (đường dẫn có nhiều nhất| s ) để theo dõi. Chỉ phải được tách bằng dấu cách, và phải kết thúc trên D .
Ví dụ
Đầu vào
|
|
\
\
^
/ |
| |
\ |
\ \
\ \
\ /
Y
D
Đầu ra
F F L L L F F F L L R F
Vì đường dẫn ngoài cùng bên trái chỉ chứa 1 | , chúng tôi sử dụng đường dẫn ngoài cùng bên phải có 3.
Đầu vào
\
|
/
|
\
|
/
D
Đầu ra
L F R F L F R
Đầu vào
/
\
/
\
^
\ \
D \
Đầu ra
R L R L R L
Những chi tiết khác
- Đây là môn đánh gôn, vì vậy người có mã ngắn nhất vào thứ Tư tuần sau, ngày 19 tháng 8, sẽ thắng.
- Phản hồi mang tính xây dựng chào đón và đánh giá rất cao.
- Lấy cảm hứng một phần bởi A Map to Hidden Treasure
- Hãy thoải mái thay đổi tiêu đề để một cái gì đó sáng tạo hơn.
- Nếu bạn tìm thấy sai lầm mà tôi đã làm, hãy sửa chúng.
- Và tất nhiên, vui chơi.
Cảm ơn bạn!
Một chút muộn, có thể, nhưng Und xác định chức năng là mã chiến thắng trong JavaScript! Cảm ơn tất cả những người đã tham gia. Không có mục khác sẽ được chấp nhận.
Lcho ^hai và hai Lcho hai /? Và tại sao bạn lại thêm hai cái nữa Fvào cuối Yví dụ?
L L, mà tôi nghĩ nên cóL L L. Ví dụ vớiYvẫn có một1ở cuối và dường như cũng có các lỗi khác. Tôi đọc bản đồ nhưF F R R R F F F R R L Fthể tôi hiểu chính xác các quy tắc.