Ceci est le fil des flics. Pour le fil des voleurs, allez ici .
introduction
Pour ce défi Cops / Robbers, les flics écriront des programmes de production et les entrelaceront ensemble. C'est le travail du voleur de sélectionner les programmes des flics pour produire les sorties souhaitées.
Règles de la police
Les flics peuvent utiliser jusqu'à 256 octets au total pour écrire entre 2 et 8 programmes (inclus), qui doivent tous produire une sortie. Tous les programmes écrits doivent être dans la même langue. Les flics "entrelaceront" leurs programmes ensemble pour rendre plus difficile pour les voleurs de comprendre ce que sont les programmes.
Maintenant, pour une description de l'imbrication. Considérez les chaînes représentant les différents programmes. Le processus d'imbrication est le retrait répété du premier caractère de l'un des programmes et sa concaténation à la fin d'une nouvelle chaîne jusqu'à ce qu'il ne reste aucun caractère dans aucun des programmes. Par exemple, si deux programmes sont lion
et TIGER
, une imbrication possible est TIliGoEnR
. Cependant, les programmes ne peuvent en aucun cas être brouillés, ce RoITEnlGi
n'est donc pas acceptable.
Il convient de noter que lorsque les caractères de tous les programmes sauf un sont supprimés des résultats d'une imbrication, le programme restant est affiché intact. Supprimer les lettres TIGER
des TIliGoEnR
résultats dans lion
.
Tous les programmes et sorties des policiers doivent contenir uniquement des caractères ASCII imprimables (20-7E) et des retours à la ligne. Les programmes ne doivent pas contenir d'erreurs et doivent s'exécuter en 10 secondes sur une machine raisonnable. Pour toute soumission, il doit y avoir un interprète gratuit de la langue quelque part. L'ajout de commentaires aux soumissions n'est pas autorisé, de même que le hachage et d'autres formes de cryptographie. Les programmes vierges ne sont pas autorisés (Désolé coincé ).
Le flic affichera le code entrelacé, la langue, le nombre de programmes différents utilisés et la sortie de chaque programme. Un grand merci à Martin d'avoir écrit ce script CJam pour entrelacer automatiquement vos programmes.
Les programmes sont jugés sûrs après qu'une semaine s'est écoulée depuis le moment de la publication. À ce stade, les flics doivent publier les programmes individuels afin de recevoir des points.
Notation
Deux composants sont ajoutés ensemble lors de la notation d'une soumission sécurisée.
- 256 divisé par la quantité 2 élevée à la puissance du nombre de programmes utilisés.
- Autour du nombre d'octets dans l'entrecroisement jusqu'à la puissance la plus proche de 2 et de le diviser en 256.
Par exemple, si l'entrée TIliGoEnR
(9 octets) était sûre, elle recevrait 256/2 ^ 2 + 256/16 = 80 points.
Lorsque la soumission d'un flic est piratée, le flic perd 16 points. Le flic doit indiquer que leur soumission a été piratée.
Le gagnant du défi des flics sera la personne avec le plus de points après une période de temps suffisante pour que les gens participent.
Classement
Il s'agit d'un travail en cours qui a été adapté par intrepidcoder à partir de cette question .
Pour vous assurer que votre réponse apparaît, veuillez commencer votre réponse avec un titre, en utilisant le modèle Markdown exact :
# Language Name, N programs, M bytes; Score ###/### (if safe/cracked)
Tout ce qui se trouve après un point-virgule sera ignoré, vous pouvez donc y mettre votre score.
Si votre soumission est sûre, mettez un en-tête comme celui-ci:
# Language Name, safe, N programs, M bytes; Score ###
S'il est fissuré, mettez un en-tête comme celui-ci:
# Language Name, [cracked](link-to-crack), N programs, M bytes; Score -16
|||
exemple), puis remplacer le N
dans le code par une chaîne contenant votre délimiteur, par exemple "|||"
. (@Eridan, n'hésitez pas à inclure cela dans le défi.)