นี่เป็นความท้าทายของตำรวจและโจร กระทู้ Cops 'เพื่อความท้าทายนี้อยู่ที่นี่
คำถามที่น่าสนใจที่ต้องคิดคือต่อไปนี้:
หากฉันมีลำดับตัวเลขฉันต้องระบุจำนวนเท่าใดก่อนที่จะชัดเจนว่าฉันกำลังพูดถึงลำดับใด
ตัวอย่างเช่นถ้าฉันต้องการพูดคุยเกี่ยวกับจำนวนเต็มบวกตามลำดับที่เริ่มต้นจากฉันสามารถพูดได้แต่นั่นก็เพียงพอ
ฉันมีวิธีหนึ่งในการตอบคำถามนี้และการเป็นนักกอล์ฟโค้ดมันเกี่ยวข้องกับการเขียนโค้ดกอล์ฟ คุณได้ให้เงื่อนไขของลำดับที่เพียงพอหากรหัสที่สั้นที่สุดที่สร้างคำเหล่านั้นสร้างเงื่อนไขทั้งหมดของลำดับ ถ้าเราคิดถึงเรื่องนี้ในแง่ของ code-golf นี่ก็หมายความว่าคุณได้เตรียมเคสทดสอบไว้เพียงพอแล้วเช่นว่ารหัสสั้นที่สุดที่ผ่านการทดสอบจะเป็นงานที่ต้องการ
ท้าทาย
ความท้าทายนี้เป็นตำรวจและโจรท้าทาย ในกรณีที่ตำรวจจะนำเสนอกรณีทดสอบและโจรจะต้องหาวิธีที่สั้นกว่าเพื่อหลอกกรณีทดสอบอื่น ๆ นอกเหนือจากลำดับที่ตั้งใจไว้ ตำรวจจะนำเสนอสิ่งต่อไปนี้:
ชิ้นส่วนของรหัสที่ใช้จำนวนเต็มบวกเป็นอินพุตและสร้างจำนวนเต็มเป็นผลลัพธ์ รหัสนี้สามารถเป็นศูนย์หรือดัชนีหนึ่ง แต่ควรมีความชัดเจนว่าการจัดทำดัชนีคืออะไร รหัสนี้จะกำหนดลำดับของคุณ
ข้อกำหนดแพลตฟอร์มหรือภาษาที่เกี่ยวข้องใด ๆ ที่อาจมีผลต่อเอาต์พุตตัวอย่างเช่นขนาดของ longint
จำนวนพร้อมกับครั้งแรกแง่ของการลำดับตามที่คำนวณได้จากรหัส สิ่งเหล่านี้จะทำหน้าที่เป็น "กรณีทดสอบ"n
โจรจะค้นหาโปรแกรมในภาษาเดียวกันที่สั้นกว่าที่นำเสนอและผ่านกรณีทดสอบทั้งหมด (สร้างเอาต์พุตเดียวกันสำหรับอินพุตแรกเป็นรหัสของตำรวจ) รหัสโม่งก็ต้องแตกต่างกันในการส่งออกจากโปรแกรมของตำรวจสำหรับจำนวนบางส่วนมีขนาดใหญ่กว่าnn
เกณฑ์การให้คะแนน
โจรจะได้คะแนนในจำนวนรอยแตกที่พวกเขาพบว่ามีรอยแตกมากขึ้นจะดีขึ้น คำตอบสามารถแตกอีกครั้งโดยการค้นหาคำตอบที่ถูกต้องสั้นกว่ารอยแตกเดิม หากคำตอบคือรอยร้าวเป็นครั้งที่สองจะให้คะแนนแก่แครกเกอร์ที่สองมากกว่าคำตอบ