5
การบีบอัดบอร์ดเกรงกลัว
เมื่อทำงานกับNon-Palindromic Polyglot Boggleฉันพบว่ามันค่อนข้างน่าเบื่อที่จะบรรจุรหัสอย่างมีประสิทธิภาพที่สุดเท่าที่จะเป็นไปได้บนบอร์ดเกรงขามแม้จะมีเพียงสองสาย แต่เราเป็นโปรแกรมเมอร์ใช่ไหม เรารู้วิธีทำให้สิ่งต่างๆเป็นไปโดยอัตโนมัติ รับรายการสตริงคุณจะต้องสร้างบอร์ดเกรงกลัวที่แต่ละสตริงสามารถพบได้ (เป็นอิสระจากคนอื่น ๆ ) ความท้าทายคือการทำให้กระดานเกรงกลัวมีขนาดเล็กที่สุดเท่าที่จะทำได้ เนื่องจากนี่คือ (หวังว่า) เป็นงานที่ค่อนข้างยากนี่เป็นความท้าทายของรหัส : ไม่มีข้อกำหนดสำหรับการเพิ่มประสิทธิภาพ - ความท้าทายคือการทำมันให้ดีที่สุดเท่าที่จะทำได้ กฎระเบียบ บอร์ดเกรงกลัวจะเป็นรูปสี่เหลี่ยมผืนผ้าและมีตัวอักษรตัวพิมพ์ใหญ่เท่านั้น ดังนั้นสตริงอินพุตจะมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่เท่านั้น ใช้กฎการเกรงกลัวตามปกติ: สตริงเป็นส่วนหนึ่งของบอร์ดหากเริ่มต้นที่ใดก็ได้คุณสามารถค้นหาสตริงโดยการย้ายไปยังอักขระที่อยู่ติดกันซ้ำ ๆ (แนวนอนแนวตั้งหรือแนวทแยงมุม) ในการสร้างสตริงเดี่ยวคุณไม่สามารถใช้เซลล์ใด ๆ ของบอร์ดมากกว่าหนึ่งครั้ง อย่างไรก็ตามตัวละครอาจถูกนำมาใช้ซ้ำระหว่างสตริงที่แตกต่างกัน คุณมีเวลา 30 นาทีในการประมวลผลข้อมูลทดสอบและรหัสของคุณจะต้องไม่ใช้หน่วยความจำเกิน 4 GB ฉันจะให้ระยะเพิ่มขึ้นเล็กน้อยบนขีด จำกัด หน่วยความจำ แต่ถ้าโปรแกรมของคุณใช้มากกว่า 4 GB หรือ spikes อยู่เหนือมันอย่างมีนัยสำคัญฉันจะ (ชั่วคราว) ตัดสิทธิ์การใช้งาน ฉันจะทดสอบการส่งทั้งหมดในเครื่องของตัวเองซึ่งใช้ Windows 8 ฉันมี Ubuntu VM …