Viết chương trình hoặc hàm nhận số nguyên dương N (thông qua stdin / dòng lệnh / hàm arg) và in hoặc trả về một chuỗi đại diện của bước đi ngẫu nhiên hai chiều dài N bước, rút ra từ dấu gạch chéo: /
\
(cộng với dấu cách và dòng mới cho khoảng cách).
Bước đi ngẫu nhiên 2D bắt đầu từ gốc của một mạng nguyên vô hạn . Sau đó N lần lặp lại, một hướng hồng y (lên, xuống, trái, phải) được chọn thống nhất một cách ngẫu nhiên và người đi bộ di chuyển một đơn vị theo hướng đó. Con đường kết quả được thực hiện là đi bộ ngẫu nhiên.
Đây là một bước đi ngẫu nhiên cho N = 6. Lưu ý rằng nó di chuyển trở lại chính nó khi nó đạt (-1, 3).
Để vẽ điều này bằng dấu gạch chéo, về cơ bản chúng ta cần xoay toàn bộ vật 45 ° theo chiều kim đồng hồ. Các trục và điểm bắt đầu và điểm kết thúc không được vẽ trong phiên bản gạch chéo.
/
\
\
/\
Một cuộc đi bộ phức tạp hơn như thế này (N = 20, mặc dù không có cách nào để nói):
Sẽ trở thành thế này:
/
/\/ /\
\/\/
/\/
\/
Chương trình của bạn cần tạo ra các loại phiên bản gạch chéo của các bước đi ngẫu nhiên. Bạn phải chọn ngẫu nhiên mỗi hướng đi mới, vì vậy mỗi lần chạy chương trình cho một N nhất định sẽ gần như chắc chắn tạo ra một bước đi khác nhau. (Pseudorandomness là tốt.)
Không bao giờ có bất kỳ dòng trống nào bên trên hoặc bên dưới các dấu gạch chéo thấp nhất và cao nhất (ngoại trừ một dòng mới theo dõi tùy chọn) và không bao giờ nên có các cột trống của khoảng trắng trước hoặc sau dấu gạch chéo ngoài cùng và bên phải.
Vì vậy, với N = 1, đầu ra luôn luôn /
hoặc \
, nhưng không bao giờ giống như:
/
Không gian lưu trữ được cho phép miễn là chúng không đi qua cột của dấu gạch chéo ngoài cùng bên phải.
Việc gửi với ít byte nhất sẽ thắng. Đây là một bộ đếm byte tiện dụng.