เขียนฟังก์ชั่น (ใช้น้อยที่สุดเท่าที่เป็นไปได้ไบต์) ที่ใช้อาร์เรย์สองมิติของจำนวนคอลัมน์และแถวใด ๆ ที่:
0
แสดงถึงบล็อกว่างเปล่า1
แสดงถึงบล็อกงู
ฟังก์ชั่นจะต้องคืนค่าจำนวนเส้นทางที่เป็นไปได้ที่งูเดินทางไป
ตัวอย่างที่ 1:
การป้อนข้อมูล:
[
[1,1,1,1,1],
[0,0,0,0,1],
[0,0,0,0,1],
]
เอาท์พุท: 2
ในตัวอย่างด้านบนฟังก์ชันจะส่งคืน2
เนื่องจากคำตอบเป็นอย่างใดอย่างหนึ่ง:
ตัวอย่างที่ 2:
การป้อนข้อมูล:
[
[1,1,1,1],
[0,0,1,1],
[0,0,1,1],
]
เอาท์พุท: 6
ในตัวอย่างนี้ฟังก์ชั่นจะกลับมา6
เพราะคำตอบเป็นหนึ่งใน:
บันทึก:
เมื่อประเมินอินพุตคุณสามารถสมมติได้ว่า:
- อาร์เรย์ที่แสดงคอลัมน์จะมีขนาดเท่ากันเสมอ (ดังนั้นอาร์เรย์จึงเป็นรูปสี่เหลี่ยม)
- มีเส้นทางที่ถูกต้องอย่างน้อย 1 เส้นทาง;
- งูไม่สามารถเดินผ่านขอบ (เช่นอาจเกิดขึ้นในบางรุ่นของงู);
- งูจะมีอย่างน้อย 2 ช่วงตึกเสมอ
- งูไม่สามารถเคลื่อนที่ได้ในแนวทแยงมุม
- เส้นทางถูกนำไป (ดังนั้นทั้งสองเส้นทางที่ลงท้ายด้วยตำแหน่งที่แตกต่างกัน แต่ไม่เช่นนั้นการค้นหาที่เหมือนกันไม่ใช่เส้นทางเดียวกันมันจะรวมกันทั้งหมด)
[[0,0,1,1],[0,0,1,1],[0,0,1,1]]
และ คำตอบส่วนใหญ่ให้ 16 แต่อย่างใดอย่างหนึ่งให้ 15