เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N (ผ่าน stdin / command line / function arg) และพิมพ์หรือคืนค่าการแทนค่าสตริงของการเดินแบบสุ่มสองมิติที่มีความยาว N ก้าวยาวออกจากสแลช: /
\
(บวกช่องว่างและ บรรทัดใหม่สำหรับการเว้นวรรค)
2 มิติเดินสุ่มเริ่มต้นที่ต้นกำเนิดของอนันต์ขัดแตะจำนวนเต็ม จากนั้น N คูณซ้ำ ๆ ทิศทางที่สำคัญ (ขึ้น, ลง, ซ้าย, ขวา) จะถูกเลือกอย่างสม่ำเสมอโดยการสุ่มและวอล์คเกอร์เคลื่อนที่หนึ่งหน่วยในทิศทางนั้น เส้นทางที่เกิดขึ้นคือการเดินแบบสุ่ม
นี่คือการเดินแบบสุ่มสำหรับ N = 6 โปรดสังเกตว่ามันเคลื่อนที่ย้อนกลับไปที่ตัวเองเมื่อถึง (-1, 3)
ในการวาดด้วยสแลชเราต้องหมุนทั้งหมดตามเข็มนาฬิกา 45 ° แกนและจุดเริ่มต้นและจุดสิ้นสุดไม่ถูกวาดในเวอร์ชันสแลช
/
\
\
/\
การเดินที่ซับซ้อนมากขึ้นเช่นนี้ (N = 20 แม้ว่าจะไม่มีทางบอก):
จะกลายเป็นสิ่งนี้:
/
/\/ /\
\/\/
/\/
\/
โปรแกรมของคุณต้องสร้างการเดินสุ่มแบบสแลชประเภทนี้ คุณต้องสุ่มเลือกทิศทางใหม่ที่ใช้ในการเดินดังนั้นการวิ่งของโปรแกรมสำหรับ N ที่แน่นอนจะทำให้เกิดการเดินที่แตกต่างกัน (Pseudorandomness ไม่เป็นไร)
ไม่ควรมีบรรทัดว่างใด ๆ ที่อยู่ด้านบนหรือด้านล่างของเครื่องหมายทับต่ำสุดและสูงสุด (ยกเว้นบรรทัดใหม่ที่ต่อท้ายหนึ่งบรรทัด) และไม่ควรมีคอลัมน์ว่างของช่องว่างก่อนหรือหลังเครื่องหมายทับซ้ายสุดและขวาสุด
ดังนั้นสำหรับ N = 1 เอาต์พุตจะเป็นเสมอ/
หรือ\
แต่ไม่เหมือน:
/
อนุญาตให้เว้นวรรคต่อท้ายตราบใดที่ไม่ผ่านคอลัมน์ของเครื่องหมายทับขวาสุด
การส่งที่มีไบต์น้อยที่สุดจะเป็นผู้ชนะ นี่คือตัวนับไบต์ที่มีประโยชน์