Bu polislerin iş parçacığı. Soyguncular için buraya gidin .
Giriş
Bu Polisler / Soyguncular mücadelesi için, polisler çıktı üreten programlar yazacak ve bunları birbirine karıştıracaktır. İstenilen çıktıları üretmek için polislerin programlarını ayırmak soyguncunun görevidir.
Polis kuralları
Polisler, tümü bir miktar çıktı üretmek zorunda olan 2 ila 8 (dahil) program yazmak için toplam 256 bayta kadar kullanabilir . Yazılan tüm programlar aynı dilde olmalıdır. Polisler, soyguncuların programların ne olduğunu anlamasını zorlaştırmak için programlarını birbirine "karıştıracak".
Şimdi iç içe geçmenin bir açıklaması için. Farklı programları temsil eden dizeleri düşünün. Birbirinin içine girme işlemi, herhangi bir programın ilk karakterinin tekrar tekrar çekilmesi ve programlardan hiçbir karakter kalmayana kadar yeni bir dizenin sonuna kadar birleştirilmesidir. Örneğin, iki program lion
ve TIGER
olası bir iç içe geçme ise TIliGoEnR
. Ancak, programlar hiçbir şekilde karıştırılamaz, bu nedenle RoITEnlGi
kabul edilemez.
Bir program dışındaki tüm programların karakterleri, birbirinin içine girme sonuçlarından çıkarıldığında, kalan programın bozulmadan gösterileceği belirtilmelidir. Harfleri Çıkarma TIGER
gelen TIliGoEnR
sonuçlardan lion
.
Tüm polis programları ve çıktıları yalnızca yazdırılabilir ASCII karakterleri (20-7E) ve satırsonu içermelidir. Programlar hata içermemeli ve makul bir makinede 10 saniye içinde çalıştırılmalıdır. Herhangi bir sunum için, bir yerde dilin ücretsiz bir tercümanı olmalıdır. Karma ve diğer şifreleme biçimleri gibi gönderilere yorum eklemeye izin verilmez. Boş programlara izin verilmez (Üzgünüm Sıkışmış ).
Polis, iç içe geçmiş kodu, dili, kullanılan farklı program sayısını ve her programın çıktısını kaydeder. Bu CJam betiğini yazdığınız için programlarınıza otomatik olarak iç içe geçmesi için Martin'e çok teşekkür ederiz .
Programlar, gönderim tarihinden itibaren bir hafta geçtikten sonra güvenli kabul edilir. Bu noktada, polisler puan alabilmek için bireysel programları yayınlamalıdır.
puanlama
Güvenli bir sunum yaparken birlikte eklenen iki bileşen vardır.
- 256, kullanılan program sayısının gücüne yükseltilen miktar 2'ye bölünür.
- Dokunmasıyla içinde bayt sayısı Yuvarlak yukarı 2'nin en yakın gücüne ve 256 bölerler.
Örneğin, giriş TIliGoEnR
(9 bayt) güvenliyse, 256/2 ^ 2 + 256/16 = 80 puan alır.
Bir polisin başvurusu kırıldığında polis 16 puan kaybeder. Polis, gönderimlerinin kırıldığını belirtmelidir.
Polislerin meydan okumasının galibi, insanların katılması için yeterli bir süre sonunda en fazla puanı alan kişi olacak.
Liderler Sıralaması
Bu, intrepidcoder tarafından bu sorudan uyarlanan devam eden bir çalışmadır. .
Yanıtınızın göründüğünden emin olmak için lütfen tam Markdown şablonunu kullanarak yanıtınıza bir başlık ekleyin :
# Language Name, N programs, M bytes; Score ###/### (if safe/cracked)
Noktalı virgülden sonraki her şey yok sayılır, böylece puanınızı oraya koyabilirsiniz.
Gönderiminiz güvenliyse, aşağıdaki gibi bir başlık koyun:
# Language Name, safe, N programs, M bytes; Score ###
Çatlamışsa, böyle bir başlık koyun:
# Language Name, [cracked](link-to-crack), N programs, M bytes; Score -16
|||
diyelim) ve ardından N
koddaki sınırlayıcıyı içeren bir dize ile değiştirebilirsiniz , örn "|||"
. (@Eridan bunu meydan okumaya dahil etmekten çekinmeyin.)