ในอุบัติเหตุที่ผิดปกติอย่างมากที่เกี่ยวข้องกับตัวอย่างเรเดียมตัวอย่างวาฬแบบใช้ไฟฟ้าและหมีเหนียวสามตัวรหัสที่มาบางส่วนของ The Management ™ได้กลายพันธุ์แล้ว เจ้านายของ The Management ™รู้น้อยจริง ๆ แล้วมันเป็นตำรวจจริง ๆ ที่รับผิดชอบในความพยายามที่จะขัดขวางแผนการชั่วร้ายของ The Management ™ ดังนั้นRobbers®ได้รับการว่าจ้างในความพยายามที่จะเรียกคืนรหัสดั้งเดิมเพราะบางครั้งใครที่ไม่ชอบความชั่วร้าย
ทราบ: ความท้าทายนี้ได้แรงบันดาลใจอย่างมากจากการถอดรหัสรหัสที่มา
ลักษณะ
นี่เป็นความท้าทายของตำรวจและโจร
- ตำรวจจะเขียนโปรแกรม (รหัสกลายพันธุ์) ที่ดำเนินงาน # 1 (และเขียนโปรแกรมที่ดำเนินงาน # 2 แต่จะถูกเก็บไว้เป็นความลับ)
- โจรจะพยายามที่จะกลับ "กลายพันธุ์" และเปลี่ยนรหัสเดิมนี้เป็นรหัสที่ดำเนินงาน # 2
ในการท้าทายนี้งาน # 1 จะส่งออกn
หมายเลขหลักที่สองและงาน # 2 จะส่งออกn
หมายเลขฟีโบนักชี (ซึ่งเป็นสิ่งที่ชั่วร้ายตามที่ตำรวจระบุ) ลำดับ Fibonacci ถูกกำหนดเป็น ( n=1
→ 1
; n=2
→ 1
; n=3
→ 2
; ... ) และจำนวนเฉพาะถูกกำหนดเป็น ( n=1
→ 2
; n=2
→ 3
; n=3
→ 5
; ... ))
เป้าหมายของตำรวจคือการลดความแตกต่างระหว่างโปรแกรมที่ทำงานให้เสร็จ # 1 และภารกิจ # 2 ในขณะที่ป้องกันไม่ให้โจรสร้างรหัสที่ทำให้ภารกิจ # 2 สมบูรณ์
กฎของตำรวจ
ตำรวจจะเขียนโปรแกรมสองโปรแกรม (อันที่หนึ่งในภารกิจ # 1 เสร็จสมบูรณ์และอีกอันหนึ่งที่ทำงานในภารกิจ # 2 เสร็จสิ้น) และทำให้ข้อมูลต่อไปนี้เป็นแบบสาธารณะ:
- โปรแกรมแรก (เอาท์พุทว่า
n
TH จำนวนเฉพาะ) - แก้ไข Levenshtein ระยะทางระหว่างโปรแกรมแรกและโปรแกรมที่สอง
- ภาษาการเขียนโปรแกรมที่ทั้งสองโปรแกรมจะถูกเขียนใน (ต้องเป็นภาษาเดียวกันสำหรับโปรแกรมทั้งสอง)
ข้อ จำกัด ต่อไปนี้ใช้กับโปรแกรมทั้งสอง:
- ต้องมีความยาวไม่เกิน 128 อักขระ
- พวกเขาจะต้องใช้ ASCII ที่พิมพ์ได้เท่านั้น (รวมถึงบรรทัดใหม่ซึ่งได้รับอนุญาตด้วย)
- พวกเขาจะต้องใช้เวลาน้อยกว่า 10 วินาทีในการวิ่งหนีและพวกเขาจะไม่จำเป็นต้องใช้ในการผลิตการส่งออกที่ถูกต้องสำหรับการใด ๆ
n=45
n>45
- พวกเขาจะต้องไม่ใช้ฟังก์ชันการแปลงแป้นพิมพ์หรือการเข้ารหัสลับใด ๆ
กฎของโจร
โจรจะพยายามเปลี่ยนโปรแกรมของตำรวจ (ซึ่งทำภารกิจ # 1 ให้เสร็จสมบูรณ์) เป็นโปรแกรมที่ทำภารกิจ # 2 ให้เสร็จสมบูรณ์ (ไม่จำเป็นต้องเป็นโปรแกรมดั้งเดิมที่เขียนโดยตำรวจ) ในระยะแก้ไขที่ตำรวจกำหนด
การส่งที่แคร็กแล้วไม่สามารถถอดรหัสได้อีก (เฉพาะโจรคนแรกที่ได้รับการอนุมัติเท่านั้น)
หลังจากแคร็กการส่งกรุณาทำต่อไปนี้:
- โพสต์คำตอบสำหรับคำถามที่มาพร้อมกับความท้าทาย (ลิงก์)การจัดหาภาษาโซลูชันของคุณและลิงก์ไปยังคำตอบดั้งเดิม
- แสดงความคิดเห็นด้วยข้อความ "แคร็ก" ซึ่งลิงก์ไปยังคำตอบที่คุณโพสต์ไว้
- แก้ไขคำตอบของตำรวจหากคุณมีสิทธิ์แก้ไข (หากคุณไม่มีให้รอจนกว่าจะมีคนอื่นที่มีสิทธิ์ที่จำเป็นต้องทำเพื่อคุณหรือแนะนำการแก้ไข)
เกณฑ์การให้คะแนน
หากโปรแกรมของตำรวจยังคงไม่ได้ทำการถอดแยกเป็นเวลา 1 สัปดาห์ตำรวจสามารถโพสต์รหัสต้นฉบับที่เสร็จสิ้นภารกิจ # 2 (ในระยะแก้ไขที่ระบุ) และการส่งนั้นถือว่าปลอดภัย " การส่งที่ปลอดภัยที่มีระยะทางแก้ไขน้อยที่สุดจะเป็นผู้ชนะ ในกรณีที่เสมอกันโปรแกรมที่สั้นที่สุด (ต้นฉบับที่ทำภารกิจ # 1 สำเร็จ) จะชนะ หากการส่งสองครั้งยังคงถูกผูกไว้
หากโจรประสบความสำเร็จในการส่งข้อมูลของตำรวจคะแนนของโจรจะเพิ่มขึ้นตามระยะการแก้ไขของการส่งนั้น ตัวอย่างเช่นโจรที่แตกการส่งด้วยระยะแก้ไขที่ 3 และอีกอันที่ระยะทาง 5 ได้รับ 8 คะแนน โจรที่มีคะแนนสูงสุดจะเป็นผู้ชนะ ในกรณีที่มีการเสมอกันโจรที่ได้คะแนนก่อนจะชนะ