C'est un défi de flics et de voleurs . Répondez ici si vous êtes un flic (créateur de mots croisés), répondez à la question complémentaire si vous êtes un voleur (solveur de mots croisés). Vous pouvez jouer les deux rôles.
Flics (Puzzlers)
Votre tâche consiste à écrire un jeu de mots croisés 10 × 10 où, au lieu de mots ou d'expressions, des extraits de code sont les solutions aux indices. Chaque indice sera une séquence de caractères non vide telle que l'exécution de l'extrait de code auquel il se réfère imprimera la séquence sur stdout.
Votre message doit inclure trois éléments:
- Votre grille de mots croisés vierge 10 × 10, en utilisant
#
pour les ténèbres (séparateurs d'indices) et_
pour les lumières (cellules à remplir).- Chaque séquence horizontale ou verticale de 2 lumières ou plus (délimitées par des ténèbres ou le bord de la grille) est une entrée pour laquelle vous devez écrire un indice. Pour plus de commodité, vous devez les numéroter de la manière habituelle (de gauche à droite, de haut en bas) en remplaçant
_
le début de chaque entrée par un identifiant de caractère unique (par exemple 1, 2, ..., A, B , ...). - Votre grille peut avoir n'importe quel nombre d'obscurité.
- Votre grille peut avoir un certain nombre d'indices.
- Les entrées horizontales sont toujours lues de gauche à droite et les verticales de haut en bas.
- Chaque séquence horizontale ou verticale de 2 lumières ou plus (délimitées par des ténèbres ou le bord de la grille) est une entrée pour laquelle vous devez écrire un indice. Pour plus de commodité, vous devez les numéroter de la manière habituelle (de gauche à droite, de haut en bas) en remplaçant
- Une liste d'indices qui contient chaque entrée dans vos mots croisés, en bas et en travers.
- Les indices doivent contenir au moins 1 et pas plus de 10 caractères.
- Si vos indices contiennent des espaces, assurez-vous qu'ils sont évidents lorsque vous formatez votre message.
- Extraits de code d'en- tête et de pied de page , chacun de 20 caractères ou moins.
- Ceux-ci s'exécutent respectivement avant et après un extrait de solution, et peuvent aider à renommer les longs intégrés et autres.
La procédure pour garantir qu'un indice correspond à son extrait de code correspondant est la suivante:
- Concaténer l' en- tête, l'extrait, et le pied de page:
[header][snippet][footer]
. - Exécutez-le comme un programme normal (indépendant des exécutions précédentes) et regardez ce qui a été imprimé sur stdout.
- Si cela correspond à l'indice, l'extrait de code est une solution valide.
Pour plus de simplicité, vous ne pouvez utiliser que des codes ASCII imprimables (codes hexadécimaux 20 à 7E). L'en-tête et le pied de page seuls peuvent également contenir des tabulations et des retours à la ligne.
Notes complémentaires
- Pour tout extrait, l'exécution
[header][snippet][footer]
ne devrait pas prendre plus d'une minute sur un ordinateur moderne décent . - Vous devez spécifier votre langage de programmation (et sa version).
- Vous ne pouvez utiliser aucun algorithme de hachage commun.
- Vous ne pouvez pas utiliser de bibliothèques externes.
- Tout dans votre code doit être déterministe, invariant dans le temps et ne pas avoir besoin d'une connexion réseau.
#
et_
peut apparaître dans des extraits (ou n'importe où ailleurs).- Vous pouvez révéler certains des caractères des mots croisés comme COTO l'a fait . Ils comptent toujours comme des lumières. Les voleurs ne sont pas tenus de les utiliser, ce ne sont que de bons conseils.
Exemple
Un exemple simple en utilisant Python 3. En- tête: p=print;t=5;
. Pas de pied de page.
Grille non résolue:
##########
1___2___##
_###_#####
_###_#####
_###_#####
####_#####
####_#####
###3______
####_#####
####_#####
Des indices:
ACROSS
1: 8
3: A!
DOWN
1: 7
2: 10
Solution valable:
##########
print(8)##
(###+#####
7###=#####
)###5#####
####;#####
####p#####
###p('A!')
####t#####
####)#####
Voleurs (solveurs)
Votre tâche consiste à résoudre les mots croisés postés par les flics. Vous devez utiliser le même langage de programmation exact que celui utilisé pour les mots croisés, mais sinon, toute solution qui correspond à tous les indices est valide.
Vous ne pouvez pas résoudre vos propres mots croisés et vous ne pouvez tenter de répondre à chacun des autres mots croisés qu'une seule fois.
N'oubliez pas de poster vos solutions dans la question complémentaire .
Notation
Si un mot croisé est résolu dans les 72 heures, il n'est plus en cours d'exécution. Une fois qu'un mot croisé n'a pas été résolu pendant 72 heures, il est considéré comme immunisé et le créateur peut publier la solution (en modifiant son article et en le marquant comme immunisé).
Le flic gagnant est l'utilisateur qui a soumis le mot croisé immunisé avec le moins d'obscurité ( #
). En cas d'égalité, la soumission ayant obtenu le vote le plus élevé l'emporte. La solution doit être publiée pour que la réponse soit acceptée.
Le voleur gagnant est l'utilisateur qui résout le plus de mots croisés. Le bris d'égalité est leur somme de votes positifs dans la question complémentaire .
sha512sum <<<"
:, pied de page: "|head -c10
(dans Bash).