Das ist der Faden der Bullen. Den Räuberfaden finden Sie hier .
Einführung
Für diese Cops / Robbers-Herausforderung schreiben die Cops Output-produzierende Programme und verweben sie miteinander. Es ist die Aufgabe des Räubers, die Programme der Polizisten herauszusuchen, um die gewünschten Ergebnisse zu erzielen.
Cop-Regeln
Die Cops können insgesamt bis zu 256 Byte verwenden, um zwischen 2 und 8 (einschließlich) Programme zu schreiben, von denen alle eine Ausgabe erzeugen müssen . Alle geschriebenen Programme müssen in derselben Sprache sein. Die Bullen "verweben" ihre Programme miteinander, um es den Räubern zu erschweren, herauszufinden, was die Programme sind.
Nun zu einer Beschreibung der Verflechtung. Betrachten Sie die Zeichenfolgen, die die verschiedenen Programme darstellen. Der Prozess des Verwebens ist das wiederholte Abziehen des ersten Zeichens eines beliebigen Programms und Verketten dieses Zeichens mit dem Ende einer neuen Zeichenfolge, bis in keinem der Programme Zeichen übrig sind. Zum Beispiel, wenn zwei Programme lionund sind TIGER, ist eine mögliche Verflechtung TIliGoEnR. Die Programme können jedoch in keiner Weise verschlüsselt werden und sind daher RoITEnlGinicht akzeptabel.
Es ist zu beachten, dass, wenn die Zeichen aller außer einem Programm aus den Ergebnissen einer Verflechtung entfernt werden, das verbleibende Programm intakt angezeigt wird. Entfernen der Buchstaben TIGERaus den TIliGoEnRErgebnissen in lion.
Alle Programme und Ausgaben der Polizei dürfen nur druckbare ASCII-Zeichen (20-7E) und Zeilenumbrüche enthalten. Programme dürfen keine Fehler enthalten und müssen auf einem vernünftigen Computer in 10 Sekunden ausgeführt werden. Für jede Einreichung muss irgendwo ein kostenloser Dolmetscher für die Sprache vorhanden sein. Das Hinzufügen von Kommentaren zu den Einsendungen ist ebenso wie das Hashing und andere Formen der Kryptografie nicht zulässig. Leere Programme sind nicht erlaubt (Sorry Stuck ).
Der Cop gibt den verwobenen Code, die Sprache, die Anzahl der verwendeten Programme und die Ausgabe für jedes Programm bekannt. Ein großes Dankeschön an Martin für das Schreiben dieses CJam-Skripts zum automatischen Verweben Ihrer Programme.
Programme gelten nach Ablauf einer Woche ab dem Zeitpunkt der Veröffentlichung als sicher. Zu diesem Zeitpunkt müssen die Polizisten die einzelnen Programme veröffentlichen, um Punkte zu erhalten.
Wertung
Es gibt zwei Komponenten, die beim Bewerten einer sicheren Einreichung zusammenaddiert werden.
- 256 dividiert durch die Menge 2, die durch die Anzahl der verwendeten Programme erhöht wird.
- Rund um die Anzahl von Bytes in der Verwebung bis zur nächsten Potenz von 2 und teilen sie in 256.
Wenn der Eintrag TIliGoEnR(9 Byte) beispielsweise sicher wäre, würde er 256/2 ^ 2 + 256/16 = 80 Punkte erhalten.
Wenn der Beitrag eines Polizisten geknackt wird, verliert der Polizist 16 Punkte. Der Polizist muss angeben, dass sein Beitrag geknackt wurde.
Der Gewinner der Cops Challenge ist die Person mit den meisten Punkten nach einer ausreichenden Zeitspanne, damit die Teilnehmer teilnehmen können.
Bestenliste
Dies ist ein laufendes Werk, das von intrepidcoder aus dieser Frage heraus adaptiert wurde .
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift unter Verwendung der genauen Markdown-Vorlage:
# Language Name, N programs, M bytes; Score ###/### (if safe/cracked)
Alles, was nach einem Semikolon steht, wird ignoriert, sodass Sie Ihre Punktzahl dort ablegen können.
Wenn Ihre Eingabe sicher ist, geben Sie eine Überschrift wie folgt ein:
# Language Name, safe, N programs, M bytes; Score ###
Wenn es geknackt ist, setzen Sie einen Header wie folgt:
# Language Name, [cracked](link-to-crack), N programs, M bytes; Score -16
|||) und dann das Nim Code durch eine Zeichenfolge ersetzen, die Ihr Trennzeichen enthält, z "|||". (@Eridan zögern Sie nicht, dies in die Herausforderung aufzunehmen.)