ให้WxH
ตารางเขาวงกตที่เป็นไปได้กี่ที่จะมี?
สิ่งที่คุณรู้เกี่ยวกับเขาวงกต:
- กริดเป็น
H
สี่เหลี่ยมจัตุรัสสูงและW
กว้าง - สี่เหลี่ยมจัตุรัสมีสามประเภท: เริ่มต้นเสร็จสิ้นและว่างเปล่า เขาวงกตของคุณจะต้องมี 1 Start และ 1 Finish อย่างแน่นอนและสี่เหลี่ยมที่เหลือทั้งหมดนั้นจะว่างเปล่า
- มีกำแพงล้อมรอบเขาวงกตทั้งหมด
- กำแพงสามารถอยู่บนขอบระหว่างสี่เหลี่ยมสองช่องใดก็ได้ยกเว้นว่ามันจะแตกกฎด้านล่าง:
- จะต้องมีเส้นทางจากช่องสี่เหลี่ยมเริ่มไปยังสี่เหลี่ยมเส้นชัย
ดังนั้นให้มีตัวเลขสองตัวW
และH
คุณจะต้องส่งกลับหมายเลขเดียวที่แสดงถึงจำนวนของการกำหนดค่าสี่เหลี่ยม / กำแพงที่เป็นไปได้ รับรองได้เลยว่าW*H > 1
ตัวอย่างเช่น2x2
เขาวงกตมี100
การกำหนดค่าที่เป็นไปได้ที่แตกต่างกันอย่างแน่นอน
นี่คือรหัสกอล์ฟเพื่อให้คำตอบที่สั้นที่สุดชนะ!
มีข้อ จำกัด ด้านขนาดและ / หรือการใช้งานจริงหรือไม่? หากไม่มีใครพบอัลกอริทึมที่สามารถคำนวณการนับได้อย่างมีประสิทธิภาพ (ซึ่งดูยาก) ฉันคาดหวังว่าโซลูชันส่วนใหญ่จะมีรันไทม์แบบเอ็กซ์โปเนนเชียล หมายความว่าพวกมันจะระเบิดในขนาดที่พอเหมาะ
—
Reto Koradi
@RetoKoradi ไม่ไม่มีข้อ จำกัด ในการใช้งานจริง ฉันไม่แน่ใจว่าข้อ จำกัด จะทำให้ปัญหาเป็นไปไม่ได้หรือไม่
—
Nathan Merrill