Küçük bir radyum örneği, bir elektrik kesilmiş balina ve üç sakızlı ayı içeren çok sıradışı bir kazada, The Management ™ 'in kaynak kodunun bir kısmı değiştirildi. Çok az Management ™ 'ın patronu biliyor mu, aslında Management ™' ın "kötü" planlarını engellemek amacıyla sorumlu olan Cops © idi. Öyleyse, Robbers® orijinal kodu almak için işe alındı, çünkü kim bazen kötülükten hoşlanmaz?
not: Bu zorluk, Kaynak Kodunu Çözmeden büyük ölçüde esinlenmiştir .
Açıklama
Bu bir polis ve soyguncular mücadelesi.
- Polisler gerçekleştirdiği Görev 1. (ve ayrıca gerçekleştirdiği Görev 2. ancak gizli tutulur bir programı yazmak) bir programı (mutasyona uğramış kodu) yazacak.
- Soyguncular "mutasyon" ters girişiminde ve kod olduğunu gerçekleştirdiği Görev 2. içine bu orijinal kodu değişecektir.
Bu zorlukta, Görev # 1, asal sayının çıktısının
alacak , Görev # 2 de , n
Fibonacci sayısının çıktısını alacak . Fibonacci dizisi ( n=1
→ 1
; n=2
→ 1
; n=3
→ 2
; ...) ve asal sayılar ( n=1
→ 2
; n=2
→ 3
; n=3
→ 5
; ...) olarak tanımlanır.
Polislerin amacı, Görev # 1 ve Görev # 2'yi tamamlayan programlar arasındaki farkı asgariye indirirken, soyguncuların Görev # 2'yi tamamlayan kodu yeniden oluşturmasını engellemektir.
Polis Kuralları
Polisler iki program yazacaktır (Görev # 1'i tamamlayan ve Görev # 2'yi tamamlayan bir program) ve aşağıdaki bilgileri herkese açık hale getirecektir:
- İlk program (bu çıktıları
n
asal sayı) - Levenshtein düzenlemek mesafesi ilk program ve ikinci programı arasında
- Her iki programın da yazıldığı programlama dili (her iki program için aynı dilde olmalıdır)
Her iki program için aşağıdaki kısıtlamalar geçerlidir:
- 128 karakter uzunluğunda veya daha kısa olmalıdır.
- Yalnızca yazdırılabilir ASCII (ayrıca izin verilen yeni satırlar) kullanmaları gerekir.
- Çalıştırmak için 10 saniyeden daha az zaman almaları gerekir
n=45
ve herhangi biri için doğru çıktıyı üretmeleri gerekmezn>45
. - Herhangi bir karma veya şifreleme işlevi kullanmamalıdırlar.
Soyguncu Kuralları
Soyguncusu, polis tarafından belirtilen düzenleme mesafesindeki polisin programını (Görev # 1'i tamamlayan) Görev # 2'yi (mutlaka polis tarafından yazılmış orijinal program değil) tamamlayan bir program olarak değiştirmeye çalışacaktır.
Önceden kırılmış bir gönderim tekrar kırılamaz (yalnızca gönderimi kesen ilk hırsız kredi kazanır).
Bir gönderimi kırdıktan sonra, lütfen aşağıdakileri yapın:
- Dili, çözümünüzü ve orijinal cevabın bağlantısını sağlayan bu zorluğun beraberindeki soruya (link) bir cevap gönderin .
- Gönderdiğiniz cevabınıza bağlanan "Çatlak" metinli bir yorum bırakın .
- Düzenleme ayrıcalıklarına sahipseniz polisin yanıtını düzenleyin (yapmazsanız, gerekli ayrıcalıklara sahip başka birinin sizin için yapmasını bekleyin veya bir düzenleme önerin).
puanlama
Bir polisin programı 1 hafta boyunca izsiz kalırsa, polis, Görev # 2'yi (belirtilen düzenleme mesafesindeki) tamamlayan orijinal kodu gönderebilir ve gönderim daha sonra "güvenli" olarak kabul edilir. En küçük düzenleme mesafesine sahip olan güvenli gönderim kazanacaktır. Beraberlik durumunda en kısa program (Görev # 1'i tamamlayan orijinal) kazanır. İki gönderi hala bağlıysa, daha önce kaydedilmiş olan kazanır.
Bir soyguncu, bir polisin gönderimini başarılı bir şekilde kırarsa, soyguncunun puanı, bu gönderinin düzenleme mesafesi kadar artar. Örneğin, 3 düzenleme mesafesine ve 5 mesafeye sahip bir gönderimi kıran bir soyguncu 8 puan kazanır. En yüksek puana sahip hırsız kazanır. Beraberlik durumunda, ilk önce puanı alan hırsız kazanır.