นี่เป็นความท้าทายของตำรวจและโจร สำหรับหัวข้อโจรไปที่นี่
ความท้าทายนี้เกี่ยวข้องกับสองลำดับOEISที่ตำรวจเลือก - S 1 , S 2 - และลำดับที่สามารถกอล์ฟและ obfuscated
The Cops 'Challenge
ความท้าทายของคุณในฐานะตำรวจคือการเลือกภาษาที่ใช้ได้อย่างอิสระและสอง OEIS ตามลำดับ จากนั้นเขียนโค้ดAในภาษานั้นที่รับอินพุตnและสร้าง S 1 (n) เมื่อโค้ดนั้นถูกแก้ไขโดยระยะทาง LevenshteinของตัวอักขระX (ที่มี X ไม่เกิน0.5 * (length A)
) และเปลี่ยนเป็นรหัสBในภาษาเดียวกันมันจะต้องสร้าง S 2 (n) คุณต้องเขียนรหัสBนี้ แต่อย่าเปิดเผยจนกว่าความท้าทายของคุณจะปลอดภัย (ดูด้านล่าง)
ส่งตำรวจต้องมีชื่อภาษารหัสเต็มที่ไบต์นับที่Xมูลค่าของจำนวนการเปลี่ยนแปลงที่จะได้รับของพวกเขาเป็นความลับBรหัสและเลือกS 1และS 2หมายเลขลำดับ คุณสามารถเลือกว่าจะเรียงลำดับ 0 หรือดัชนี 1 ดัชนี แต่โปรดระบุในการส่งของคุณ
ในการถอดรหัสการส่งข้อมูลโดยเฉพาะโจรต้องเกิดขึ้นกับโปรแกรมCในภาษาเดียวกัน (และเวอร์ชั่น) ที่สร้าง S 2 (n) และตัวอักษรYนั้นเปลี่ยนไปจากA (ด้วยY <= X
) โจรไม่จำเป็นต้องค้นหารหัสBที่แน่นอนที่ตำรวจ (แอบ) ผลิต
การชนะและการให้คะแนน
หากคำตอบ cop ของคุณไม่ได้แตกภายใน 7 วัน (168 ชั่วโมง) คุณอาจเปิดเผยโซลูชันBของคุณเองซึ่งคำตอบของคุณจะปลอดภัย ตราบใดที่คุณไม่เปิดเผยวิธีแก้ปัญหาของคุณก็อาจถูกโจรปล้นได้แม้ว่าจะผ่านไป 7 วันแล้วก็ตาม หากคำตอบของคุณแตกโปรดระบุสิ่งนี้ในส่วนหัวของคำตอบของคุณพร้อมกับลิงก์ไปยังคำตอบของโจรที่เกี่ยวข้อง
ตำรวจชนะโดยมีการส่ง Uncracked กับที่สั้นที่สุด หากเชื่อมโยงแล้วX ที่เล็กที่สุดจะถูกใช้เป็น tie-breaker หากยังคงถูกผูกไว้การส่งก่อนหน้าจะชนะ
กฎเพิ่มเติม
- คุณต้องไม่ใช้บิวด์อินใด ๆ สำหรับการสร้างการแฮชการเข้ารหัสหรือการสุ่มหมายเลข
- อนุญาตให้ใช้โปรแกรมหรือฟังก์ชันอย่างใดอย่างหนึ่ง แต่รหัสจะต้องไม่เป็นข้อมูลโค้ดและคุณจะต้องไม่ถือว่าสภาพแวดล้อมแบบ REPL
- คุณอาจจะใช้การป้อนข้อมูลและให้การส่งออกในรูปแบบที่สะดวกใด ๆ วิธีการอินพุต / เอาต์พุตจะต้องเหมือนกันสำหรับทั้งสองซีเควนซ์
- เครื่องคำนวณที่ชัดเจนสำหรับระยะทางของ Levenshtein สำหรับความท้าทายนี้คือเครื่องคำนวณ Planet Planet
- นอกจากจะเป็นความท้าทายของ CnR แล้วนี่คือรหัสกอล์ฟเพื่อใช้กฎการเล่นกอล์ฟตามปกติทั้งหมด
(0.5*len(A))