นี่เป็นส่วนหนึ่งของการท้าทายของตำรวจและโจร ไปที่นี่เพื่อส่วนตำรวจ
ความท้าทายของโจร
คำตอบของตำรวจสามารถถอดรหัสได้โดยการลบชุดอักขระใด ๆ ออกจากโปรแกรม Haystack เพื่อให้ได้ผลลัพธ์Needle
แทนที่จะเป็นHaystack
(ในขณะที่ยังคงเป็นการส่งที่ถูกต้องในภาษาเดียวกัน) คุณไม่จำเป็นต้องค้นหาวิธีแก้ไขปัญหาแบบเดียวกันกับที่ตำรวจต้องการตราบใดที่คุณใช้งานได้ตามข้อ จำกัด ข้างต้น
หากคุณจัดการสิ่งนี้โพสต์คำตอบด้วยวิธีแก้ปัญหาเชื่อมโยงไปยังคำตอบของตำรวจและแสดงความคิดเห็นในคำตอบของตำรวจที่เชื่อมโยงกลับไปยังของคุณ
โจรที่ร้าวคำตอบตำรวจที่สุดจะชนะ ความสัมพันธ์จะถูกทำลายโดยผลรวมของขนาดของคำตอบตำรวจแตก (ในความโปรดปรานของโจรที่แตกส่งอีกต่อไป)
คำตอบตำรวจแต่ละคนสามารถถอดรหัสได้เพียงครั้งเดียวเท่านั้นและแน่นอนว่าคุณไม่ได้รับอนุญาตให้ถอดรหัสคำตอบของคุณเอง หากคำตอบของตำรวจกลายเป็นโมฆะก่อนหรือหลังถูกแคร็กมันจะไม่ถูกนับเข้ากับคะแนนของนักปล้น
ตัวอย่าง
นี่คือตัวอย่างง่ายๆในภาษาต่างๆ:
Ruby
Haystack: puts 1>0?"Haystack":"Needle"
Delete: XXXXXXXXXXXXXXX
Needle: puts "Needle"
Python 2
Haystack: print "kcatsyaHeldeeN"[-7::-1]
Delete: XXXXXXXX XX
Needle: print "eldeeN"[::-1]
โปรดทราบว่าชุดย่อยของอักขระที่ลบออกไม่จำเป็นต้องต่อเนื่องกัน
hashing, encryption or random number generation
มันอนุญาตหรือไม่ (ถึงจะเป็นไปได้